本发明涉及硬盘性能测试技术领域,具体地说是一种对硬盘接口依次进行单盘性能自动测试的方法。
背景技术:
随着社会的发展,科技的进步,信息技术的飞速,数据越来越集中于后台系统服务器中,众多系统同时为成千上万的网络用户提供服务,影响着我们生活的方方面面,随着各个企业的业务发展,用户访问量的增加,器服务系统承载的符合也会随之增加,系统性能的好坏将严重影响企业的利益,因此对于服务器系统的性能也越来越收到业界的关注。
针对目前存储系统测试每次只能对一颗硬盘进行测试测试,当硬盘数量过多时需要频繁的操作对每颗硬盘进行挨个测试,并且不能充分利用夜间时间进行测试的问题,设计一种对硬盘接口依次进行单盘性能自动测试的方法。
技术实现要素:
本发明的技术任务是解决现有技术的不足,针对目前存储系统测试每次只能对一颗硬盘进行测试测试的问题提供一种对硬盘接口依次进行单盘性能自动测试的方法。
本发明的技术方案是按以下方式实现的:
一种对硬盘接口依次进行单盘性能自动测试的方法,该方法包括:
ⅰ)预先搭建测试环境,并在测试环境中安装fio测试工具;
ⅱ)预先在需要进行测试的多个硬盘接口上连接指定的硬盘;
ⅲ)预先将自动化测试脚本拷贝至fio安装目录下,利用该自动化测试脚本依次对需要进行测试的多个硬盘接口进行测试。
所涉及自动化测试脚本的运行步骤包括:
1)根据当前时间创建result文件夹,并判断命令中参数是否正确;
2)如果正确,则读取命令参数形成需要测试硬盘的配置文件及配置变量,如果错误,则提示参数错误,并打印帮助信息,随后直接执行步骤11);
3)随后判断是否有测试nvme硬盘,如果有,则需要设置参数变量后方可执行步骤4),如果没有,则直接执行步骤4);
4)循环:依次提取配置文件中的一个硬盘进行测试;
5)判断是否还有未测试硬盘,如果有,则执行步骤6),如果没有,则执行步骤11);
6)判断是否需要预热测试,如果需要,则顺序读写预热测试后执行步骤7),如果不需要,则直接执行步骤7);
7)执行单盘多数据块循序读写性能测试,随后自动收集性能数据;
8)进一步判断是否需要预热测试,如果需要,则随机读写预热测试后执行步骤9),如果不需要,则直接执行步骤9);
9)执行单盘多数据块随机读写性能测试,随后自动收集性能数据;
10)返回执行步骤4),以循环测试下一个硬盘;
11)结束,删除临时文件,提示测试完成。
在自动化测试脚本的运行过程中,通过-p参数设置性能测试前是否需要进行预热测试。
在自动化测试脚本的运行过程中,每项测试前均进行格式化的动作.
所涉及硬盘为nvme标准的ssd。
所涉及方法在linux下可以大量接入不同类型的存储设备依次进行fio性能测试。
本发明的一种对硬盘接口依次进行单盘性能自动测试的方法与现有技术相比所产生的有益效果是:
本发明的方法可对需要测试的所有硬盘依次进行单盘性能测试,在保证产品性能的同时,可以充分利用休息时间及夜间进行性能测试,极大的提升测试效率,解决原来只能测试一个硬盘性能的低效率问题;本发明的方法还具有通用性强的优点,可以测试nvme标准的ssd。
附图说明
附图1是本发明的自动化测试脚本运行流程图。
具体实施方式
为了更好的说明本发明,现结合具体实施例以及说明书附图对技术方案做进一步的说明。虽然实施例中记载了这些具体的实施方式,然其并非用以限定本发明,任何所述技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动和润饰,故本发明的保护范围当视权利要求书所界定者为准。
本发明的一种对硬盘接口依次进行单盘性能自动测试的方法,该方法包括:
ⅰ)预先搭建测试环境,并在测试环境中安装fio测试工具;
ⅱ)预先在需要进行测试的多个硬盘接口上连接指定的硬盘;
ⅲ)预先将自动化测试脚本拷贝至fio安装目录下,利用该自动化测试脚本依次对需要进行测试的多个硬盘接口进行测试。
如附图1所示,所涉及自动化测试脚本的运行步骤包括:
1)根据当前时间创建result文件夹,并判断命令中参数是否正确;
2)如果正确,则读取命令参数形成需要测试硬盘的配置文件及配置变量,如果错误,则提示参数错误,并打印帮助信息,随后直接执行步骤11);
3)随后判断是否有测试nvme硬盘,如果有,则需要设置参数变量后方可执行步骤4),如果没有,则直接执行步骤4);
4)循环:依次提取配置文件中的一个硬盘进行测试;
5)判断是否还有未测试硬盘,如果有,则执行步骤6),如果没有,则执行步骤11);
6)判断是否需要预热测试,如果需要,则顺序读写预热测试后执行步骤7),如果不需要,则直接执行步骤7);
7)执行单盘多数据块循序读写性能测试,随后自动收集性能数据;
8)进一步判断是否需要预热测试,如果需要,则随机读写预热测试后执行步骤9),如果不需要,则直接执行步骤9);
9)执行单盘多数据块随机读写性能测试,随后自动收集性能数据;
10)返回执行步骤4),以循环测试下一个硬盘;
11)结束,删除临时文件,提示测试完成。
在自动化测试脚本的运行过程中,通过-p参数设置性能测试前是否需要进行预热测试。
在自动化测试脚本的运行过程中,每项测试前均进行格式化的动作.
所涉及硬盘为nvme标准的ssd。
所涉及方法在linux下可以大量接入不同类型的存储设备依次进行fio性能测试。
本发明的方法可对需要测试的所有硬盘依次进行单盘性能测试,在保证产品性能的同时,可以充分利用休息时间及夜间进行性能测试,极大的提升测试效率,解决原来只能测试一个硬盘性能的低效率问题。
本发明方法的自动化测试脚本如下: