一种服务器跑整机fio压力测试的方法及系统技术方案

技术编号:19388792 阅读:27 留言:0更新日期:2018-11-10 01:59
本发明专利技术提供一种服务器跑整机fio压力测试的方法及系统,包括如下步骤:创建磁盘压力测试脚本;设置测试时间,通过格式化测试磁盘,设定各种模式下的测试块自行调节每个模块的测试时间,实现整机fio测试时间的调节。获取系统所有磁盘的盘符信息;对获取的盘符信息进行筛选、分类、排序。对磁盘集合的所有磁盘调用测试脚本进行压力测试。监测磁盘fio的运行情况;判断每执行完一次脚本的调用,立刻跳出本次循环继续下一个循环。检测与收集测试过程的日志信息;输出测试完成信息。

A method and system for FIO pressure testing of server running machine

The invention provides a method and system for FIO pressure test of a server running the whole machine, which includes the following steps: creating a disk pressure test script; setting test time, setting test block in various modes to adjust test time of each module by formatting test disk, and realizing the adjustment of FIO test time of the whole machine. Get all the disk information of the system; filter, sort, and sort the acquired information. Stress test is performed on all disk call test scripts of the disk set. Monitor the operation of disk fio; judge every script call, immediately jump out of this cycle to continue the next cycle. Check and collect log information of test process; output test completion information.

【技术实现步骤摘要】
一种服务器跑整机fio压力测试的方法及系统
本专利技术属于服务器
,具体涉及一种服务器跑整机fio压力测试的方法及系统。
技术介绍
随着大数据、云计算的蓬勃发展,大容量存储服务器的市场需求不断增加,目前大容量存储服务器很会配置多种存储,对存储的一些压力测试的需求也不断丰富。现有方法对磁盘进行fio测试,有些进行单盘测试fio,有些多盘测试的脚本大都固定设置了磁盘个数和盘符,需要在测试之前根据系统磁盘配置手动修改测试脚本中磁盘个数和盘符等,无法实现完全自动化。对于磁盘配置较多且复杂的系统,现有方法将无法完成fio整机压力测试。
技术实现思路
为了克服上述现有技术中的不足,本专利技术提供一种服务器跑整机fio压力测试的方法及系统,以解决上述技术问题。本专利技术的技术方案是:一种服务器跑整机fio压力测试的方法,包括如下步骤:创建磁盘压力测试脚本;对磁盘集合的所有磁盘调用测试脚本进行压力测试。进一步的,步骤创建磁盘压力测试脚本,具体包括:获取系统所有磁盘的盘符信息;对获取的盘符信息进行筛选、分类、排序。进一步的,步骤获取系统所有磁盘的盘符信息之前包括:设置测试时间,实现过程如下:通过格式化测试磁盘,设定各种模式下的测试块自行调节每个模块的测试时间,实现整机fio测试时间的调节。进一步的,步骤对磁盘集合的所有磁盘调用测试脚本进行压力测试,还包括:监测磁盘fio的运行情况;判断每执行完一次脚本的调用,立刻跳出本次循环继续下一个循环。进一步的,步骤对磁盘集合的所有磁盘调用测试脚本进行压力测试之后还包括:检测与收集测试过程的日志信息;输出测试完成信息。本专利技术技术方案还提供一种服务器跑整机fio压力测试的系统,包括创建模块和执行模块;创建模块,用于创建磁盘压力测试脚本;执行模块,用于对磁盘集合的所有磁盘调用测试脚本进行压力测试。进一步的,创建模块包括获取单元和处理单元;获取单元,用于获取系统所有磁盘的盘符信息;处理单元,用于对获取单元获取的盘符信息进行筛选、分类、排序。进一步的,创建模块还包括设置单元和操作单元;操作单元,用于格式化测试磁盘;设置单元,用于设定各种模式下的测试块自行调节每个模块的测试时间,实现整机fio测试时间的调节。进一步的,执行模块还包括监测单元和判断单元;监测单元,用于监测磁盘fio的运行情况;判断单元,用于判断每执行完一次脚本的调用,立刻跳出本次循环继续下一个循环,实现所有磁盘同时进行fio压力测试。进一步的,创建模块还包括检测与收集单元和输出单元;检测与收集单元,用于检测与收集测试过程的日志信息;输出单元,用于输出测试完成信息。本专利技术创建的测试脚本循环遍历磁盘集合里的每个盘符,针对每个磁盘调用压力脚本,并导入/dev/null目录,禁止标准输出,进行后台运行,使得每执行完一次脚本的调用,立刻跳出本次循环继续下一个循环,实现所有磁盘同时进行fio压力测试。根据测试设定时间,在后台运行测试完成后自动收集系统测试日志。从以上技术方案可以看出,本专利技术具有以下优点:对系统中所有磁盘同时fio压力测试,同时可以选择不进行测试磁盘(如系统盘),而且可以自由调节测试时间,对于磁盘配置复杂的fio整机测试大大节省了人力及资源。此外,本专利技术设计原理可靠,结构简单,具有非常广泛的应用前景。由此可见,本专利技术与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。附图说明图1为本专利技术实施例提供的一种服务器跑整机fio压力测试的方法流程图。具体实施方式下面结合附图并通过具体实施例对本专利技术进行详细阐述,以下实施例是对本专利技术的解释,而本专利技术并不局限于以下实施方式。如图1所示,本专利技术实施例提供的一种服务器跑整机fio压力测试的方法,包括如下步骤:S1:创建磁盘压力测试脚本;S11:通过格式化测试磁盘,设定各种模式下的测试块自行调节每个模块的测试时间,实现整机fio测试时间的调节;S12:获取系统所有磁盘的盘符信息;S13:对获取的盘符信息进行筛选、分类、排序。S2:对磁盘集合的所有磁盘调用测试脚本进行压力测试。S21:监测磁盘fio的运行情况;S22:判断每执行完一次脚本的调用,立刻跳出本次循环继续下一个循环。S3:检测与收集测试过程的日志信息;S4:输出测试完成信息。本专利技术实施例还提供一种服务器跑整机fio压力测试的系统,包括创建模块和执行模块;创建模块,用于创建磁盘压力测试脚本;创建模块包括获取单元、处理单元、设置单元和操作单元;获取单元,用于获取系统所有磁盘的盘符信息;处理单元,用于对获取单元获取的盘符信息进行筛选、分类、排序。操作单元,用于格式化测试磁盘;设置单元,用于设定各种模式下的测试块自行调节每个模块的测试时间,实现整机fio测试时间的调节。执行模块,用于对磁盘集合的所有磁盘调用测试脚本进行压力测试。执行模块还包括监测单元和判断单元;监测单元,用于监测磁盘fio的运行情况;判断单元,用于判断每执行完一次脚本的调用,立刻跳出本次循环继续下一个循环,实现所有磁盘同时进行fio压力测试。创建模块还包括检测与收集单元和输出单元;检测与收集单元,用于检测与收集测试过程的日志信息;输出单元,用于输出测试完成信息。基于上述实施例:专利技术使用lsblk相关命令提取系统所有类型磁盘的盘符;用sort相关命令对磁盘分类排序。另外对于某些不需要测试的磁盘(如系统盘),使用sed相关命令从磁盘集合中删除。最后对于磁盘集合中的所有磁盘同时进行fio压力测试。设置时间参数作为测试开始脚本start.sh的参数,自行调节测试时间。专利技术循环遍历磁盘集合里的每个盘符,针对每个磁盘调用压力脚本,并导入/dev/null目录,禁止标准输出,进行后台运行,使得每执行完一次fio.sh的调用,立刻跳出本次循环继续下一个循环,实现所有磁盘同时进行fio压力测试。根据测试设定时间,在后台运行fio完成后自动收集系统测试日志。运行./stop.sh可以随时停止fio测试。具体过程如下:脚本test.sh#!/bin/bashtime=$(date+%Y-%m-%d-%H-%M)if[-n"$2"];thenTIME=$2elseTIME=3600fiDIR=`pwd`>/var/log/messages>/var/log/dmesg通过TIME变量,实现测试时间的自行调节,默认为3600s。if[!-e/lib64/libaio.so.1];thencp$DIR/Tool/libaio.so.1.0.1/lib64/ln-s/lib64/libaio.so.1.0.1/lib64/libaio.so.1firm-fLog/*cdLog/DiskA=$1DiskB=$3exportTIMEexportAexportBdisk=$(lsblk|sed'/NAME/d'|awk'{print$1}'|sort|sed'/'$DiskA'/d')if[-n"$DiskB"];thendisk=$(echo"$disk"|sed'/'$DiskB'/d')fi获取系统所有磁盘盘符,分类排序,将不需要进行压力测试的盘从磁盘列表disk中删除。foriin$diskdoexportiexportjexportDIR$本文档来自技高网...

【技术保护点】
1.一种服务器跑整机fio压力测试的方法,其特征在于,包括如下步骤:创建磁盘压力测试脚本;对磁盘集合的所有磁盘调用测试脚本进行压力测试。

【技术特征摘要】
1.一种服务器跑整机fio压力测试的方法,其特征在于,包括如下步骤:创建磁盘压力测试脚本;对磁盘集合的所有磁盘调用测试脚本进行压力测试。2.根据权利要求1所述的一种服务器跑整机fio压力测试的方法,其特征在于,步骤创建磁盘压力测试脚本,具体包括:获取系统所有磁盘的盘符信息;对获取的盘符信息进行筛选、分类、排序。3.根据权利要求2所述的一种服务器跑整机fio压力测试的方法,其特征在于,步骤获取系统所有磁盘的盘符信息之前包括:设置测试时间,实现过程如下:通过格式化测试磁盘,设定各种模式下的测试块自行调节每个模块的测试时间,实现整机fio测试时间的调节。4.根据权利要求1所述的一种服务器跑整机fio压力测试的方法,其特征在于,步骤对磁盘集合的所有磁盘调用测试脚本进行压力测试,还包括:监测磁盘fio的运行情况;判断每执行完一次脚本的调用,立刻跳出本次循环继续下一个循环。5.根据权利要求1所述的一种服务器跑整机fio压力测试的方法,其特征在于,步骤对磁盘集合的所有磁盘调用测试脚本进行压力测试之后还包括:检测与收集测试过程的日志信息;输出测试完成信息。6.一种服务器跑整机fio压力测试的系统,其特征在于,包括...

【专利技术属性】
技术研发人员:彭笑笑
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1