一种文件测试方法、系统、电子设备及可读存储介质技术方案

技术编号:35068545 阅读:27 留言:0更新日期:2022-09-28 11:28
本发明专利技术提供一种文件测试方法、系统、电子设备及可读存储介质,获取在同步测试和异步测试下预先构建的线程数量递增参数和读写块内存递增参数;然后结合待测文件的测试模式确定缓存大小为第一内存值的性能测试指令集,作为对待测文件进行同步测试和异步测试的指令集合,记为测试指令集合;待测文件包括文件系统中的文件;最后执行测试指令集合中的所有脚本,生成待测文件的同步测试结果和异步测试结果。本申请能够一次性测试多种模式的读写性能测试,能够实现测试过程中线程数、测试块大小、测试文件大小、同步和异步等全场景覆盖。本申请可以将同种场景下的数据绘制在同一个图形中,便于分析每个版本对文件系统性能的影响。便于分析每个版本对文件系统性能的影响。便于分析每个版本对文件系统性能的影响。

【技术实现步骤摘要】
一种文件测试方法、系统、电子设备及可读存储介质


[0001]本申请涉及计算机
,具体涉及一种文件测试方法、系统、电子设备及可读存储介质。

技术介绍

[0002]文件系统的功能以及性能测试,是通过调用虚拟文件系统的读写等接口对其或其内部文件进行读、写等操作,从而完成对文件系统的测试。而iozone是一个文件系统的benchmark工具,可以测试不同操作系统中文件系统的读写性能,以及可以测试读(read)、写(write)等不同模式下不同文件大小、不同读写块大小的吞吐量。但是iozone在只提供各种参数情况下,单条iozone命令有非常大的测试局限性,无法在一次测试中完成同步测试和异步测试的情况,并且也无法进行线程数递增的场景全覆盖测试。针对上述现状,目前市场上出现了基于iozone并允许文件块大小和线程数都在一定范围内递增,从而在一次测试过程中完成不同文件块大小在不同线程数的性能数据测试。
[0003]但是,现有方案并没有解决在一次测试中完成同步测试、异步测试的方式下,同时完成线程数、文件大小、读写块大小都递增的全场景覆盖测试。此外,对于嵌入式操作系统内核开发版本的迭代中,每个版本在同等条件下测试结果数据量非常大,而且人工分析这些数据变得非常困难以及对各个版本之间的数据分析的准确性以及直观性都很缺乏。

技术实现思路

[0004]鉴于以上所述现有技术的缺点,本申请提供一种文件测试方法、系统、电子设备及可读存储介质,以解决上述技术问题。
[0005]本申请提供一种文件测试方法,包括以下步骤:
[0006]获取在同步测试和异步测试下预先构建的线程数量递增参数和读写块内存递增参数;
[0007]基于所述线程数量递增参数、所述读写块内存递增参数以及待测文件的测试模式,确定缓存大小为第一内存值的性能测试指令集,作为对所述待测文件进行同步测试和异步测试的指令集合,记为测试指令集合;所述待测文件包括文件系统中的文件;
[0008]执行所述测试指令集合中的所有脚本,生成所述待测文件的同步测试结果和异步测试结果。
[0009]于本申请的一实施例中,所述待测文件的测试模式包括以下至少之一:待测文件的写和重复写模式、待测文件的读和重复读模式、待测文件的随即读写模式、待测文件的后向读模式、待测文件的文件内随即点写模式、待测文件的大间隔文件点读模式、待测文件的文件内随即点读写模式。
[0010]于本申请的一实施例中,预先构建的线程数量递增参数和读写块内存递增参数的过程包括:设置线程数量在第一参数以内以两倍数量递增测试;以及,针对在预设内存范围内的文件大小,设置读写块从第二内存值到第三内存值按照两倍方式递增;其中,所述第二
内存值和所述第三内存值位于所述预设内存范围内。
[0011]于本申请的一实施例中,在生成所述待测文件的同步测试结果和异步测试结果后,所述方法还包括:
[0012]将所述待测文件的同步测试结果和异步测试结果存储至预设数据库中,以及对所述数据库中的同步测试结果和异步测试结果进行可视化图形绘制,并比较同类测试结果在不同版本下的数据差异;其中,所述数据差异包括吞吐量差异。
[0013]于本申请的一实施例中,对所述数据库中的同步测试结果和异步测试结果进行可视化图形绘制的过程包括:
[0014]获取所述数据库中的测试结果,并以文件大小为X轴,每次读写长度块为Y轴,各种测试模式下的实际吞吐量为Z轴,对所述数据库中的测试结果进行格式转换,将测试结果的数据格式转换为标准数矩阵格式;
[0015]对转换为标准数矩阵格式的测试结果进行可视化图形绘制,生成三维离散可视化图形。
[0016]于本申请的一实施例中,所述方法包括:
[0017]利用numpy对所述数据库中的测试结果进行格式转换,将测试结果的数据格式转换为标准数矩阵格式;以及,
[0018]利用Matplotlib对转换为标准数矩阵格式的测试结果进行可视化图形绘制,生成三维离散可视化图形。
[0019]本申请还提供一种文件测试系统,所述系统包括有:
[0020]数据采集模块,用于获取在同步测试和异步测试下预先构建的线程数量递增参数和读写块内存递增参数;
[0021]指令集模块,用于根据所述线程数量递增参数、所述读写块内存递增参数以及待测文件的测试模式,确定缓存大小为第一内存值的性能测试指令集,作为对所述待测文件进行同步测试和异步测试的指令集合,记为测试指令集合;所述待测文件包括文件系统中的文件;
[0022]测试模块,用于执行所述测试指令集合中的所有脚本,生成所述待测文件的同步测试结果和异步测试结果。
[0023]于本申请的一实施例中,所述待测文件的测试模式包括以下至少之一:待测文件的写和重复写模式、待测文件的读和重复读模式、待测文件的随即读写模式、待测文件的后向读模式、待测文件的文件内随即点写模式、待测文件的大间隔文件点读模式、待测文件的文件内随即点读写模式。
[0024]本申请还提供一种电子设备,所述电子设备包括:
[0025]一个或多个处理器;
[0026]存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如上述中任一项所述的文件测试方法。
[0027]本申请还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行如上述中任一项所述的文件测试方法。
[0028]如上所述,本申请提供一种文件测试方法、系统、电子设备及可读存储介质,具有以下有益效果:
[0029]本申请首先获取在同步测试和异步测试下预先构建的线程数量递增参数和读写块内存递增参数;然后基于所述线程数量递增参数、所述读写块内存递增参数以及待测文件的测试模式,确定缓存大小为第一内存值的性能测试指令集,作为对所述待测文件进行同步测试和异步测试的指令集合,记为测试指令集合;所述待测文件包括文件系统中的文件;最后执行所述测试指令集合中的所有脚本,生成所述待测文件的同步测试结果和异步测试结果。其中,待测文件的测试模式包括以下至少之一:待测文件的写和重复写模式、待测文件的读和重复读模式、待测文件的随即读写模式、待测文件的后向读模式、待测文件的文件内随即点写模式、待测文件的大间隔文件点读模式、待测文件的文件内随即点读写模式。由此可知,本申请能够一次性测试多种模式的读写性能测试,能够实现测试过程中线程数、测试块大小、测试文件大小、同步和异步等全场景覆盖。本申请能够针对内核开发中每次迭代版本,将同种场景下的数据绘制在同一个图形中,便于分析每个版本对文件系统性能的影响。
[0030]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0031]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件测试方法,其特征在于,所述方法包括以下步骤:获取在同步测试和异步测试下预先构建的线程数量递增参数和读写块内存递增参数;基于所述线程数量递增参数、所述读写块内存递增参数以及待测文件的测试模式,确定缓存大小为第一内存值的性能测试指令集,作为对所述待测文件进行同步测试和异步测试的指令集合,记为测试指令集合;所述待测文件包括文件系统中的文件;执行所述测试指令集合中的所有脚本,生成所述待测文件的同步测试结果和异步测试结果。2.根据权利要求1所述的文件测试方法,其特征在于,所述待测文件的测试模式包括以下至少之一:待测文件的写和重复写模式、待测文件的读和重复读模式、待测文件的随即读写模式、待测文件的后向读模式、待测文件的文件内随即点写模式、待测文件的大间隔文件点读模式、待测文件的文件内随即点读写模式。3.根据权利要求1或2所述的文件测试方法,其特征在于,预先构建的线程数量递增参数和读写块内存递增参数的过程包括:设置线程数量在第一参数以内以两倍数量递增测试;以及,针对在预设内存范围内的文件大小,设置读写块从第二内存值到第三内存值按照两倍方式递增;其中,所述第二内存值和所述第三内存值位于所述预设内存范围内。4.根据权利要求3所述的文件测试方法,其特征在于,在生成所述待测文件的同步测试结果和异步测试结果后,所述方法还包括:将所述待测文件的同步测试结果和异步测试结果存储至预设数据库中,以及对所述数据库中的同步测试结果和异步测试结果进行可视化图形绘制,并比较同类测试结果在不同版本下的数据差异;其中,所述数据差异包括吞吐量差异。5.根据权利要求4所述的文件测试方法,其特征在于,对所述数据库中的同步测试结果和异步测试结果进行可视化图形绘制的过程包括:获取所述数据库中的测试结果,并以文件大小为X轴,每次读写长度块为Y轴,各种测试模式下的实际吞吐量为Z轴,对所...

【专利技术属性】
技术研发人员:彭勇
申请(专利权)人:重庆长安汽车股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1