CN105487952A - 一种基于fio的pcie-ssd自动化测试方法 - Google Patents

一种基于fio的pcie-ssd自动化测试方法 Download PDF

Info

Publication number
CN105487952A
CN105487952A CN201510928968.5A CN201510928968A CN105487952A CN 105487952 A CN105487952 A CN 105487952A CN 201510928968 A CN201510928968 A CN 201510928968A CN 105487952 A CN105487952 A CN 105487952A
Authority
CN
China
Prior art keywords
test
pcie
ssd
fio
method based
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510928968.5A
Other languages
English (en)
Inventor
韩琳琳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201510928968.5A priority Critical patent/CN105487952A/zh
Publication of CN105487952A publication Critical patent/CN105487952A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于FIO的PCIE-SSD自动化测试方法,属于PCIE-SSD自动化测试领域,本发明要解决PCIE-SSD性能及稳定性测试的质量及效率低的问题,采用的技术方案步骤为:(1)根据测试需求修改测试脚本参数;(2)脚本根据参数自动选择对应的测试模块;(3)测试模块根据参数自动开始测试;(4)完成测试并将结果输出到日志。在进行步骤(1)之前对模块变量及参数进行初始定义。

Description

一种基于FIO的PCIE-SSD自动化测试方法
技术领域
本发明涉及PCIE-SSD自动化测试领域,具体地说是一种基于FIO的PCIE-SSD自动化测试方法。
背景技术
随着IT行业的高速发展,信息化、大数据及云计算的发展对服务器性能要求越来越高。PCIE-SSD作为数据存储的载体,性能指标直接影响服务器的整体呈现。做为国内领先的服务器硬件供应商,浪潮也在不断提高对PCIE-SSD性能测试的质量及效率。
Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高。
FIO是一个文件***的benchmark工具,可以测试各种操作***文件***的读写性能。可以进行不同测试块大小、不同模式下的PCIE-SSD性能测试。但是FIO只提供了简单的参数,单条命令的使用有非常大的测试局限,很难做到对PCIE-SSD进行较为***的性能及稳定性测试。
如何能够通过shell语言编写自动化的测试脚本,并手动进行测试参数的调整使本发明要解决的技术问题。将会极大提高PCIE-SSD性能及稳定性测试的质量及效率。
发明内容
本发明的技术任务是针对以上不足,提供一种基于FIO的PCIE-SSD自动化测试方法,来解决PCIE-SSD性能及稳定性测试的质量及效率低的问题。
本发明的技术任务是按以下方式实现的:
一种基于FIO的PCIE-SSD自动化测试方法,步骤为:
(1)根据测试需求修改测试脚本参数;
(2)脚本根据参数自动选择对应的测试模块;
(3)测试模块根据参数自动开始测试;
(4)完成测试并将结果输出到日志。
在进行步骤(1)之前对模块变量及部分参数进行初始定义。
本发明的一种基于FIO的PCIE-SSD自动化测试方法具有以下优点:适用于不同PCIE-SSD型号及配置,仅需根据测试需求修改参数即可。解决了使用FIO单条命令的测试局限性。丰富了测试手段,提高了测试效率和测试质量,更好的实现了PCIE-SSD自动化测试。
附图说明
下面结合附图对本发明进一步说明。
附图1为一种基于FIO的PCIE-SSD自动化测试方法的流程示意图。
具体实施方式
参照说明书附图和具体实施例对本发明的一种基于FIO的PCIE-SSD自动化测试方法作以下详细地说明。
实施例:
本发明的一种基于FIO的PCIE-SSD自动化测试方法,步骤为:
(1)根据测试需求修改测试脚本参数;
(2)脚本根据参数自动选择对应的测试模块;
(3)测试模块根据参数自动开始测试;
(4)完成测试并将结果输出到日志。
在进行步骤(1)之前对模块变量及部分参数进行初始定义,如默认跑IOengine为libaio模式,其实现代码为:
IS_FRAG=false
IS_STRESS=false
IS_BASE=false
IS_FILESYSTEM=false
IS_IOPS=false
IO_ENGINE=libaio
FILE_SIZE=100%
usage说明,对脚本可用到的参数进行说明,执行iotest.sh–h会屏幕print,其实现代码为:
usage(){
echo"$0[-f][-s][-eio_engine][-h][-b][-ddev_name][-m][-ppartion][-wworkdir][-r][-iiops]"
echo"-ffragment"
echo"-sstresstest"
echo"-eioenginetype,defaulttypeislibaio"
echo"-brawdevicebasetest"
echo"example:"
echo"rawdevicefragment:nohup&>/dev/nullshiotest.sh-f-d/dev/sda&"
echo"rawdevicebasetest:nohup&>/dev/nullshiotest.sh-b-d/dev/sda&"
echo"Ifyouhaveanyquestion,contactwithme:miaoywinspur.com"
exit
套用getopts方式,对脚本命令行参数进行定义,例如执行iotest.sh–b会自动将“IS_BASE=true”,其实现代码为:
whilegetopts"hsfbe:d:mp:w:ri:"arg
do
case$argin
h)
usage;;
s)
IS_STRESS=true;;
f)
IS_FRAG=true;;
b)
IS_BASE=true;;
w)
workdir=${OPTARG};;
r)
IS_IOPS=true;;
i)
define_iops=${OPTARG};;
esac
done
根据if语句的判断,调用base_test测试模块,其实现代码为:
if${IS_FRAG};then
fragment
fi
if${IS_BASE};then
base_test
fi
if${IS_IOPS};then
fixed_iops_test
fi
利用for循环嵌套,采用不同线程不同读写策略不同数据块大小进行测试并输出结果至log档,其实现代码为:
base_test(){
forRWinwriterandwritereadrandread
do
forBSin4k16k64k512k
do
forTHREADSin128163264256
do
if[$THREADS-le32];then
fio--readwrite=${RW}--bs=${BS}--numjobs=${THREADS}--runtime=300s${PARA_LINE}--filename=${DEV_LIST}--name=${RW}_${BS}_${THREADS}|tee-a${RW}.log
else
iodepth=$(($THREADS/32))
PARA_LINE2="--end_fsync=0--group_reporting--direct=1--ioengine=${IO_ENGINE}--iodepth=$iodepth--time_based--invalidate=1--norandommap--randrepeat=0--exitall--size=${FILE_SIZE}"
fio--readwrite=${RW}--bs=${BS}--numjobs=32--runtime=300s${PARA_LINE2}--filename=${DEV_LIST}--name=${RW}_${BS}_${THREADS}|tee-a${RW}.log
fi
done
done
sleep60s
done
根据设置参数运行带宽测试,其实现代码为:
fio--readwrite=read--bs=512k--direct=1--runtime=300s--end_fsync=0--ioengine=${IO_ENGINE}--time_based--invalidate=1--norandommap--randrepeat=0--group_reporting--numjobs=1--size=${FILE_SIZE}--filename=${DEV_LIST}--name=BW_read|tee-aBW_read.log
sleep60s
fio--readwrite=write--bs=512k--direct=1--runtime=300s--end_fsync=0--ioengine=${IO_ENGINE}--time_based--invalidate=1--norandommap--randrepeat=0--group_reporting--numjobs=1--size=${FILE_SIZE}--filename=${DEV_LIST}--name=BW_write|tee-aBW_write.log
sleep60s
利用不同数据块大小、不同线程及不同读写策略运行稳定性测试,其实现代码为:
#steady
iostat-xm1>4k_rw_iops&
fio--readwrite=randrw--rwmixread=70--bs=4k--runtime=3000s--numjobs=32${PARA_LINE}--filename=${DEV_LIST}--name=4k_rw_iops|tee-a4k_rw_iops.log
kill`pidofiostat`>/dev/null
sleep30s
iostat-xm1>16k_w_iops&
fio--readwrite=randwrite--bs=16k--runtime=3000s--numjobs=32${PARA_LINE}--filename=${DEV_LIST}--name=16k_w_iops|tee-a16k_w_iops.log
kill`pidofiostat`>/dev/null
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (2)

1.一种基于FIO的PCIE-SSD自动化测试方法,其特征在于步骤为:
(1)根据测试需求修改测试脚本参数;
(2)脚本根据参数自动选择对应的测试模块;
(3)测试模块根据参数自动开始测试;
(4)完成测试并将结果输出到日志。
2.根据权利要求1所述的一种基于FIO的PCIE-SSD自动化测试方法,其特征在于在进行步骤(1)之前对模块变量及部分参数进行初始定义。
CN201510928968.5A 2015-12-15 2015-12-15 一种基于fio的pcie-ssd自动化测试方法 Pending CN105487952A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510928968.5A CN105487952A (zh) 2015-12-15 2015-12-15 一种基于fio的pcie-ssd自动化测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510928968.5A CN105487952A (zh) 2015-12-15 2015-12-15 一种基于fio的pcie-ssd自动化测试方法

Publications (1)

Publication Number Publication Date
CN105487952A true CN105487952A (zh) 2016-04-13

Family

ID=55674945

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510928968.5A Pending CN105487952A (zh) 2015-12-15 2015-12-15 一种基于fio的pcie-ssd自动化测试方法

Country Status (1)

Country Link
CN (1) CN105487952A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107545927A (zh) * 2017-08-25 2018-01-05 郑州云海信息技术有限公司 一种基于fio实现的SSD性能自动化测试方法
CN107799158A (zh) * 2017-11-23 2018-03-13 郑州云海信息技术有限公司 一种NVMe SSD IO延时自动化测试方法
CN108335722A (zh) * 2018-01-03 2018-07-27 郑州云海信息技术有限公司 一种自动化测试ssd接口速率的方法
CN108777158A (zh) * 2018-06-05 2018-11-09 深圳忆联信息***有限公司 测试固态硬盘Trim性能的方法、装置及计算机设备
CN109086176A (zh) * 2018-07-26 2018-12-25 郑州云海信息技术有限公司 一种基于fio的ssd稳态测试方法、装置、设备及存储介质
US20190272116A1 (en) * 2018-03-02 2019-09-05 Shenzhen Shichuangyi Electronics Co., Ltd Batch automatic test method for solid state disks and batch automatic test device for solid state disks
CN110659171A (zh) * 2019-09-25 2020-01-07 苏州浪潮智能科技有限公司 一种测试方法、电子设备和计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850479A (zh) * 2015-05-15 2015-08-19 浪潮电子信息产业股份有限公司 一种基于fio的硬盘自动化测试方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850479A (zh) * 2015-05-15 2015-08-19 浪潮电子信息产业股份有限公司 一种基于fio的硬盘自动化测试方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107545927A (zh) * 2017-08-25 2018-01-05 郑州云海信息技术有限公司 一种基于fio实现的SSD性能自动化测试方法
CN107799158A (zh) * 2017-11-23 2018-03-13 郑州云海信息技术有限公司 一种NVMe SSD IO延时自动化测试方法
CN108335722A (zh) * 2018-01-03 2018-07-27 郑州云海信息技术有限公司 一种自动化测试ssd接口速率的方法
US20190272116A1 (en) * 2018-03-02 2019-09-05 Shenzhen Shichuangyi Electronics Co., Ltd Batch automatic test method for solid state disks and batch automatic test device for solid state disks
US10768852B2 (en) * 2018-03-02 2020-09-08 Shenzhen Shichuangyi Electronics Co., Ltd Batch automatic test method for solid state disks and batch automatic test device for solid state disks
CN108777158A (zh) * 2018-06-05 2018-11-09 深圳忆联信息***有限公司 测试固态硬盘Trim性能的方法、装置及计算机设备
CN108777158B (zh) * 2018-06-05 2020-12-01 深圳忆联信息***有限公司 测试固态硬盘Trim性能的方法、装置及计算机设备
CN109086176A (zh) * 2018-07-26 2018-12-25 郑州云海信息技术有限公司 一种基于fio的ssd稳态测试方法、装置、设备及存储介质
CN110659171A (zh) * 2019-09-25 2020-01-07 苏州浪潮智能科技有限公司 一种测试方法、电子设备和计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN105487952A (zh) 一种基于fio的pcie-ssd自动化测试方法
CN104850479A (zh) 一种基于fio的硬盘自动化测试方法
CN110309071B (zh) 测试代码的生成方法及模块、测试方法及***
CN106682036A (zh) 一种数据交换***及其交换方法
CN107168879B (zh) 集中配置管理***测试报告的生成方法及装置
CN106910532A (zh) 一种自动化测试ssd性能的方法
WO2013123405A1 (en) Profiling and sequencing operators executable in an emulated computing system
CN104809042A (zh) 一种基于iozone的硬盘性能测试的方法
CN106899454B (zh) 一种基于Linux***下自动化测试RoCE性能的方法及***
CN103152391A (zh) 一种日志输出方法和装置
CN105389236A (zh) 一种基于fio的hba卡自动化测试方法
CN105591779A (zh) 网元巡检方法及装置
CN113886162A (zh) 一种计算设备性能测试方法、计算设备及存储介质
CN105260281A (zh) 一种基于iozone的PCIE SSD卡性能测试的方法
CN103425580A (zh) 一种自动快速获取和校验云计算设备配置信息的方法
CN108009086B (zh) 基于用例分解和功能学习的***自动化测试方法
CN112559525B (zh) 数据检查***、方法、装置和服务器
CN105843716A (zh) 一种基于mltt的io功能测试方法
CN105389350B (zh) 一种分布式文件***元数据信息获取方法
CN106294181A (zh) 智能卡软件使用寿命测试方法
CN114647588A (zh) 接口测试方法及装置
CN103605612A (zh) 一种快速选定自动化测试用例的方法
CN104978250A (zh) 一种基于iozone的HBA卡性能测试的方法
CN105511999A (zh) 一种基于iozone的USB接口性能测试的方法
CN105068911A (zh) 一种针对cpu内核进行网卡性能调优的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160413