一种自动化测试SSD性能的方法与流程

文档序号:12787823阅读:766来源:国知局

本发明涉及服务器技术领域,具体涉及一种自动化测试SSD性能的方法。



背景技术:

随着IT领域技术的不断发展,传统信息化服务以及日趋强大的云计算服务,对服务器的性能要求越来越高。一款服务器无论是在研发阶段还是生产阶段都需要对产品进行性能测试,从而严格保证该产品的可靠性,数据的可靠性能也是服务器一个重要指标。随着服务器市场的竞争越来越激烈,客户需求的不同,每一个客户对于性能都有自己的严格定义,在进行性能测试时,如果一个个命令去敲入执行,测试进度缓慢且浪费人力物力。



技术实现要素:

本发明的技术任务是提供一种自动化测试SSD性能的方法,测试时,只需要自动执行脚本,设置测试时间,实时输出测试结果,可以更好的监控性能波动,直至测试完成。

本发明解决其技术问题所采用的技术方案是:

一种自动化测试SSD性能的方法,搭建所要测试的机器,将所需测试的硬盘直连到服务器中,安装linux系统;编译一个可执行shell脚本;自动执行脚本,输出结果,完成测试;

该方法通过以下步骤实现:

1)、组装好待测试的服务器;

2)、安装需要测试的操作系统和fio软件;

3)、确保fio软件完全安装;

4)、将写好的脚本拷入操作系统中;

5)、自动执行测试脚本,可以实时监测盘的运行情况,硬盘的速率宽带;

6)、输出测试结果,将测试结果整理分析。

进一步的,所述可执行shell脚本包括以下部分:

1)先对硬盘进行随机预处理操作,从裸盘状态变为满盘状态,进行下面的测试;

2)进行4K随机读IOPS测试,脚本会自动生成测试结果;

3)进行4K随机写IOPS测试,脚本会自动生成测试结果;

4)进行128K顺序写带宽测试,脚本会自动生成测试结果;

5)进行128K顺序读带宽测试,脚本会自动生成测试结果。

本发明的一种自动化测试SSD性能的方法与现有技术相比,具有以下有益效果:

该测试脚本是在Linux系统下用标准的脚本自动执行命令,并实时输出测试结果,测试时,只需要自动执行脚本,设置测试时间,实时输出测试结果,可以更好的监控性能波动,直至测试完成;

本方法能够很好的完成了测试任务,该测试方法操作简单,具有较好的易用性,大大节省了测试时间,提高了测试效率。

具体实施方式

下面结合具体实施例对本发明作进一步说明。

一种自动化测试SSD性能的方法,搭建所要测试的机器,将所需测试的硬盘直连到服务器中,安装linux系统;编译一个可执行.sh脚本;自动执行脚本,输出结果,完成测试;

该方法通过以下步骤实现:

1)、组装好待测试的服务器;

2)、安装需要测试的操作系统和fio软件;

3)、确保fio软件完全安装;

4)、将写好的脚本拷入操作系统中;

5)、自动执行测试脚本,可以实时监测盘的运行情况,硬盘的速率宽带;

6)、输出测试结果,将测试结果整理分析。

所述可执行.sh脚本包括以下部分:

1)先对硬盘进行随机预处理操作,从裸盘状态变为满盘状态,进行下面的测试;

2)进行4K随机读IOPS测试,脚本会自动生成测试结果;

3)进行4K随机写IOPS测试,脚本会自动生成测试结果;

4)进行128K顺序写带宽测试,脚本会自动生成测试结果;

5)进行128K顺序读带宽测试,脚本会自动生成测试结果。

具体脚本内容如下:

#性能测试随机预处理

fio --ioengine=libaio --direct=1 --bwavgtime=2000 --write_bw_log=bandwidth_init --thread --norandommap --filename=/dev/sdb --name=init_seq --output=init_128KW.log --rw=write --bs=128k --numjobs=1 --iodepth=32 --runtime=3600s --time_based

fio --ioengine=libaio --direct=1 --iopsavgtime=2000 --write_iops_log=iops_init --thread --norandommap --filename=/dev/sdb --name=init_rand --output=init_4KRW.log --rw=randwrite --bs=4k --numjobs=1 --iodepth=32 --runtime=10800s --time_based

#4K随机读IOPS测试

nohup /tmp/nmon_x86_64_rhel7 -f -s 2 -c 3750 -m /home/ssdtest/ssddata &

sleep 120

DEV=/dev/sdb TIME=7200s fio test_4K_read --output=4k_read_IOPS_sum.log --iopsavgtime=2000 --write_iops_log=iops_4K_read

sleep 180

#4K随机写IOPS测试

nohup /tmp/nmon_x86_64_rhel7 -f -s 2 -c 3750 -m /home/ssdtest/ssddata &

sleep 120

DEV=/dev/sdb TIME=7200s fio test_4K_write --output=4k_write_IOPS_sum.log --iopsavgtime=2000 --write_iops_log=iops_4K_write

sleep 180

#顺序写带宽测试-128K

nohup /tmp/nmon_x86_64_rhel7 -f -s 2 -c 3750 -m /home/ssdtest/ssddata &

sleep 120

DEV=/dev/sdb TIME=7200s fio test_128K_write --output=128k_write_BW_sum.log --bwavgtime=2000 --write_bw_log=bandwidth_128K_write

sleep 180

#顺序读带宽测试-128K

nohup /tmp/nmon_x86_64_rhel7 -f -s 2 -c 3750 -m /home/ssdtest/ssddata &

sleep 120

DEV=/dev/sdb TIME=7200s fio test_128K_read --output=128k_read_BW_sum.log --bwavgtime=2000 --write_bw_log=bandwidth_128K_read

sleep 180

脚本内,时间,盘符 numjobs, iodepth等参数都可以按照不同情况进行修改 。

通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1