现有的测试工具分为三类:
- 合成IO测试
- 基准测试集
- 基于Trace的测试
合成测试程序根据统计的真实负载发生规律,如请求的读写比例,大小,频率和分布等信息。建立响应的io存取模型。在测试时产生符合存取模型的io请求序列。发送给存储系统。这类程序包括 IOMeter,IOZone 和 Bonnie++。
使用基准测试集测试计算机系统的性能,一直是有效和精确的评价方法。针对存储系统的测试研究也大量使用基准测试集。
存储性能委员会SPC,为存储系统开发了基准测试集。SPC-1 SPC-2; 标准性能评价组织SPEC 标准集成立于1988,目标是建立标准和实际的性能测试集。其中 SFS是测量NFSv2和NFSv3服务器的性能,包括吞吐率和响应时间。它在客户端上运行实现定义的负载脚本产生各种实际的文件和目录操作。https://www.spec.org/sfs2014/
Trace测试。Trace 测试是搜集真实系统中所有的IO请求信息,并按照一定格式记录在Trace文件中,一般包括请求时间,请求类型和请求大小等。测试时,程序按照Trace文件中的记录想存储系统中发出IO请求。但是记录Trace信息会增加IO开销。
对于一个测试工具来说,需要满足一下几个基本要求:
一是对不同系统进行测试所得到的结果具有可比较性。
二是可移植性好,能够适应或者非常方便的移植到不同的机器上;
三是测试结果准确客观。
影响测试软件网络带宽测试结果的关键因素有:读写操作比例,测试数据总大小,测试过程中每次操作的数据大小,顺序或者随机访问模式,多个测试进程同时访问一个文件还是访问各自独立的文件,或称之为共享或者并发访问模式。
参考文件:分布式文件系统性能测试软件的设计 2012 第1期
常用的文件系统测试工具:
1. pjd-fstest (posix 接口兼容性测试)
参考网站:https://www.tuxera.com/community/posix-test-suite/
fstest是一套简化版的文件系统POSIX兼容性测试套件,它可以工