本发明涉及应用于消冗(重复数据删除)文件系统和消冗类软件的测试工具及方法,属于重复数据删除测试方法领域。
背景技术:
随着计算机技术的不断发展和企业信息量的不断增加,使用数据访问和存储呈现爆炸式的增长,促使了消冗文件系统的出现,所以就需要精确的对消冗文件系统进行消冗率以及性能评价。消冗文件系统可以使用户透明的使用存储设备,即其使用方式与使用本地磁盘一致,所以测试读写性能时传统的文件系统性能测试工具如IOZone依然可用,但由于IOZone一次只写一个文件,即使与脚本配合可以顺序写出多个文件,但这些文件的内容全部都是一样的,后写入的文件全部被消冗掉,所以在某些测试场景下(比如:连续写入一定重复率的数据文件情况下对消冗文件系统进行压力和稳定性测试并统计其性能变化)就不太适用,其它测试工具也存在类似的问题。
技术实现要素:
本发明专门针对消冗文件系统或消冗软件,提出一种应用于消冗文件系统的测试工具及方法,解决对消冗文件系统在消冗率、读写性能以及稳定性等方面的测试,并且使测试变得简单且精确。一种应用于消冗文件系统的测试工具,包括顺序写入/读取模块、随机写入/读取模块、重复率控制模块、删除模块、模拟模块、满负荷写入/读取模块、循环写入模块;顺序写入/读取模块用于向消冗文件系统顺序写入或者读取不同块大小、不同文件大小的数据;随机写入/读取模块用于向消冗文件系统随机写入或者读取不同块大小、不同文件大小的数据;重复率控制模块用于对写入消冗文件系统的数据控制不同的重复率;删除模块4用于删除消冗文件系统中指定的数据文件;模拟模块用于模拟多用户同时对消冗文件系统进行读写删操作;满负荷写入/读取模块用于根据消冗文件系统的处理能力满负荷的写入或者读取数据;循环写入模块用于对消冗文件系统长时间满负荷的循环写入或者读取不同的数据文件。一种应用于消冗文件系统的测试方法,包括以下几个方面:(1)对消冗文件系统进行消冗率测试,包括两个方面:1)向消冗文件系统内写入数据,控制写入的文件大小以及文件数量,并控制其写入数据的重复率A,进行消冗率测试,测试完成后自动把结果输出到指定文件,如果结果显示消冗率A,则此次消冗率测试结果正确,否则消冗率错误;2)向消冗文件系统中随机连续写入两个完全一样、重复率为0%的数据,进行消冗率测试,测试完成后自动把结果输出到指定文件,如果结果显示消冗率为49%—50%,则判断消冗文件系统此次消冗率测试结果正确,否则消冗率错误;(2)对消冗文件系统顺序读写性能测试;向消冗文件系统内顺序写入数据,然后再按顺序读取数据,对消冗文件系统顺序读写性能测试,测试完成后自动把读写结果输出到指定文件中;(3)对消冗文件系统随机读写性能测试;向消冗文件系统内随机写入数据,然后再按随机方式读取数据,对消冗文件系统随机读写性能测试,测试完成后自动把读写结果输出到指定文件中;(4)多进程下的同步读写性能测试;模拟多用户同时向消冗文件系统内顺序或者随机写入数据,然后再按顺序读取数据,对消冗文件系统进行多进程下的同步读写性能测试,测试完成后自动把读写结果输出到指定文件中;(5)对消冗文件系统读写I/O测试;向消冗文件系统内顺序或者随机写入数据,然后再按顺序或者随机方式读取数据,对消冗文件系统读写I/O测试,测试完成后自动把读写I/O结果输出到指定文件中;(6)对消冗文件系统稳定性测试根据消冗文件系统所在的分区空间大小设置写入数据量,每次顺序或者随机写入不同的数据,重复率60%,每个文件写完后进行读取,连续进行N次文件读写,每个文件读写完成后性能结果输出到指定文件中,得到性能变化曲线,性能变化曲线的横坐标为数据量,纵坐标是读写性能。本发明的优点在于:(1)本发明的工具,包括对消冗率测试、读写性能以及稳定性测试,一个工具即可完成对上述测试项的测试,并且使用简单,只需输入较少的命令即可,自动收集测试结果,形成文件;(2)本发明的工具,具有很强的实用性,具有很广泛的应用前景。附图说明图1是本发明的工具示意图;图中:1-顺序写入/读取模块2-随机写入/读取模块3-重复率控制模块4-删除模块5-模拟模块6-满负荷写入/读取模块7-循环写入模块具体实施方式下面将结合附图和实施例对本发明作进一步的详细说明。本发明是一种应用于消冗文件系统的测试工具,如图1所示,包括顺序写入/读取模块1、随机写入/读取模块2、重复率控制模块3、删除模块4、模拟模块5、满负荷写入/读取模块6、循环写入模块7。其中重复率控制模块3、模拟模块5、循环写入模块7都是本发明新创新的测试技术和测试思路。通过顺序写入/读取模块1可以向消冗文件系统顺序写入或者读取不同块大小不同文件大小的数据;通过随机写入/读取模块2可以向消冗文件系统随机写入或者读取不同块大小不同文件大小的数据;通过重复率控制模块3可以对写入消冗文件系统的数据控制不同的重复率;删除模块4可以删除消冗文件系统中指定的数据文件;模拟模块5可以模拟多用户同时对消冗文件系统进行读写删操作;满负荷写入/读取模块6可以根据消冗文件系统的处理能力满负荷的写入或者读取数据;循环写入模块7可以对消冗文件系统长时间满负荷的循环写入或者读取不同的数据文件。本发明是一种应用于消冗文件系统的测试方法,包括以下几个方面:(1)对消冗文件系统进行消冗率测试,包括两个方面:1)使用测试工具向消冗文件系统内写入数据,控制写入的文件大小以及文件数量,并控制其写入数据的重复率A。进行消冗率测试,测试完成后自动把结果输出到指定文件,指定文件为由测试人员指定的文件,如果结果显示消冗率A,说明此次消冗率测试结果正确。否则消冗率错误。2)使用测试工具向消冗文件系统中随机连续写入两个完全一样、重复率为0%的数据,进行消冗率测试,测试完成后自动把结果输出到指定文件,如果结果显示消冗率为49%—50%,则判断消冗文件系统此次消冗率测试结果正确,否则消冗率错误。如消冗文件系统有压缩功能,测试消冗率时把压缩功能先注销或屏蔽再进行消冗率测试,并且每次测试前把消冗文件系统内数据清除。(2)对消冗文件系统顺序读写性能测试;使用测试工具向消冗文件系统内顺序写入数据,然后再按顺序读取这些数据,对消冗文件系统顺序读写性能测试,测试完成后自动把读写结果输出到指定文件中。(3)对消冗文件系统随机读写性能测试;使用测试工具向消冗文件系统内随机写入数据,然后再按随机方式读取这些数据,对消冗文件系统随机读写性能测试,测试完成后自动把读写结果输出到指定文件中。(4)多进程下的同步读写性能测试;使用测试工具模拟多用户同时向消冗文件系统内顺序或者随机写入数据,然后再按顺序读取这些数据,对消冗文件系统进行多进程下的同步读写性能测试,测试完成后自动把读写结果输出到指定文件中。(5)对消冗文件系统读写I/O测试;使用测试工具向消冗文件系统内顺序或者随机写入数据,然后再按顺序或者随机方式读取这些数据,对消冗文件系统读写I/O测试,测试完成后自动把读写I/O结果输出到指定文件中。(6)对消冗文件系统稳定性测试根据消冗文件系统所在的分区空间大小设置写入数据量,每次顺序或者随机写入不同的数据,重复率60%,每个文件写完后进行读取,连续进行N次(如100次,N的大小可根据存储空间大小决定,理论上没有上限)文件读写,每个文件读写完成后性能结果输出到指定文件中。则测试消冗文件系统长时间工作状态的稳定性,也可以测试出在数据量不断增加的情况下的读写性能变化。测试完成后自动把每个文件的读写结果输出到指定的文件中,得到性能变化曲线,性能变化曲线的横坐标为数据量,纵坐标是读写性能,达到测试目的。本发明提供了一种测试工具与测试方法,支持对消冗文件系统和消冗软件的测试,可以使对此类系统和软件的测试变得简单且准确。本发明的工具与方法,实现的功能为:1、对消冗文件系统消冗率测试;2、对消冗文件系统的顺序读写性能测试;3、对消冗文件系统随机读写性能测试;4、对消冗文件系统进行多进程并发读写能力测试;5、文件系统读写I/O测试;6、测试结束后自动显示测试结果;7、文件系统的稳定性测试;8、支持的操作系统为linux、unix。实施例:本发明测试工具的测试方法:测试工具的运行命令为:./TestProcess[-itest][-sfilesize_Kb][-rrecord_size_Kb][-nnumber][-wsave][-pproportion][-OI/O][-hhomology][-ccourse][-fpath][filename]参数说明如下:TestProcess:工具名称;-i:(test)读写模式,6顺序写、7顺序读、1随机写、2随机读;-s:(filesize_Kb)文件大小,可以以Kb为单位,也可以MB、GB为单位;-r:(record_size_Kb)每次写入的块大小,可以以Kb为单位,也可以MB、GB为单位;-n:(number)数量,写入文件的个数;-w:(save)文件是否保存,1为保存,0为不保存;-p:(proportion)文件内块重复率,0%为完成为重复数据,100%为完全重复的数据;-O:(I/O)对读写I/O进行统计;-h:(homology)文件是否相同,1为所写文件都相同,0为所写文件各不相同;-c:(course)进程数,默认为单个进程,后跟数字表示多个进程同时操作;-f:(path)文件写入的路径绝对路径;Filename:文件名称,写入多个文件时文件名自动增加后缀。(1)对消冗文件系统进行消冗率测试;1)使用测试工具向消冗文件系统内写入数据,控制写入的文件大小(M)以及文件数量(N),并控制其写入数据的重复率(比如60%)。测试完成后自动把结果输出到指定文件log,如果结果显示消冗率60%说明此次消冗率测试结果正确。否则消冗率错误。测试命令如下:./TestProcess–i6–s100G–r128k–n10–w–p60%-f/mnt/sdetest.dat./log2)使用测试工具向消冗文件系统中连写入两个完全一样重复率为0%的数据,按照1)计算,测试完成后自动把结果输出到指定文件log,消冗率为50%可判断消冗文件系统此次消冗率测试结果正确,否则消冗率错误。测试命令如下:./TestProcess–i6–s100G–r128k–n10-w–p60%-f/mnt/sdetest.dat./log如消冗文件系统有压缩功能,测试消冗率时把压缩功能先注销或屏蔽再进行消冗率测试。(2)对消冗文件系统顺序读写性能测试;使用测试工具向消冗文件系统内顺序写入数据,然后再按一定的顺序读取这些数据,需指定的参数如下:顺序写、顺序读、每个文件大小、块大小、文件个数、重复率、文件目录、文件名称,举例说明测试命令:./TestProcess–i67–s100G–r128k–n10–c10–w–p60%-f/mnt/sdetest.dat./log测试完成后自动把读写结果输出到指定的文件log中。测试时可调整不同的参数以达到不同的测试目的。(3)对消冗文件系统随机读写性能测试;使用测试工具向消冗文件系统内随机写入数据,然后再按随机方式读取这些数据,需指定的参数如下:随机写、随机读、每个文件大小、块大小、文件个数、重复率、文件目录、文件名称,举例说明测试命令:./TestProcess–i12–s100G–r128k–n10-w–p60%-f/mnt/sdetest.dat./log测试完成后自动把读写结果输出到指定的文件log中。测试时可调整不同的参数以达到不同的测试目的。(4)多进程下的同步读写性能测试;使用测试工具-c参数指定一定的进程数据(比如:10)向消冗文件系统内顺序(随机)写入数据,然后再按一定的顺序读取这些数据,需指定的参数如下:顺序(随机)写、顺序(随机)读、每个文件大小、块大小、文件个数、重复率、文件目录、文件名称,以5个进程顺序读写测试为例说明,运行命令为:./TestProcess–i67–s100G–r128k–n5–c10-w–p60%-f/mnt/sdetest.dat./log2测试完成后自动把读写结果输出到指定的文件log2中。测试时可调整不同的参数以达到不同的测试目的。(5)对消冗文件系统读写I/O测试;使用测试工具-O参数向消冗文件系统内顺序(随机)写入数据,然后再按顺序(随机)方式读取这些数据,需指定的参数如下:顺序(随机)写、顺序(随机)读、每个文件大小、块大小、文件个数、重复率、文件目录、文件名称,举例说明运行命令为:./TestProcess–i67–s100G–r128k-O-w–p60%-f/mnt/sdetest.dat./log测试完成后自动把读写I/O结果输出到指定的文件log中。可调整不同的块大小测试出在不同块大小情况下的I/O值。(6)对消冗文件系统稳定性测试;根据消冗文件系统所在的分区空间大小设置适当的写入数据量,每次顺序(随机)写入不同的数据,重复率60%,每个文件写完后进行读取,连续进行100次文件读写,每个文件读写完成后性能结果输出到指定文件中。这样即可测试消冗文件系统长时间工作状态的稳定性,也可以测试出在数据量不断增加的情况下的读写性能变化,例如运行命令为:./TestProcess–i67–s200G–r128k–n100–h0–w–p60%-f/mnt/sdetest.dat./test.log测试完成后自动把每个文件的读写结果输出到指定的文件test.log中,从而形成性能变化曲线以数据量为横坐标,纵坐标是读写性能,达到测试目的。