CN107545927A - 一种基于fio实现的SSD性能自动化测试方法 - Google Patents

一种基于fio实现的SSD性能自动化测试方法 Download PDF

Info

Publication number
CN107545927A
CN107545927A CN201710742527.5A CN201710742527A CN107545927A CN 107545927 A CN107545927 A CN 107545927A CN 201710742527 A CN201710742527 A CN 201710742527A CN 107545927 A CN107545927 A CN 107545927A
Authority
CN
China
Prior art keywords
ssd
write
fio
performance
testings
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
CN201710742527.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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710742527.5A priority Critical patent/CN107545927A/zh
Publication of CN107545927A publication Critical patent/CN107545927A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开一种基于fio实现的SSD性能自动化测试方法,涉及SSD性能测试技术,结合SSD性能测试的常用参数设置,基于fio命令,采用shell脚本,首先在SSD性能测试之前,将SSD设置为稳态状态,然后遍历不同的块大小分别对顺序读写、随机读写、混合随机读写的性能数据进行收集,自动化进行SSD稳态性能测试;最终将测试结果输出到日志中。本发明解决了SSD性能及稳定性测试中测试质量效率低的问题,实现了SSD性能测试的自动化,提高了SSD性能测试的质量以及效率。

Description

一种基于fio实现的SSD性能自动化测试方法
技术领域
本发明涉及SSD性能测试技术,具体的说是一种基于fio实现的SSD性能自动化测试方法。
背景技术
SSD(Solid State Drives,固态硬盘)相对于原来的主轴旋转,并无机械部分,SSD没有转速,平均访问时间小很多。SSD采用多个闪存芯片的并发读写,提供很好的数据读写性能。全新的SSD因为数据的顺序写入,能达到最佳的性能。而使用过的SSD是将新数据写入空白区域,当删除数据时并没有真正的删除,只是将原始数据标注为无效。当需要擦除数据时,以NAND数据块为单位进行擦除。
为了确保SSD的高性能,需要对其进行常规性能测试。SSD测试之前,首先要做的是预调(preconditioning);SSD发货之后的性能取决于它的写入历史,因此测试前需要将SSD恢复到初始状态。如果不进行这个过程,那么SSD测试得出的结果可能就不合理,因为SSD的性能与写入历史有很大关系。详细来说,FOB(Fresh Of Box,刚拆封的状态)状态下的SSD性能最高,然后随着使用其性能快速下降,这个阶段叫做转换阶段(Transition State),继续使用之后SSD的性能会固定下来,这个阶段叫做稳定阶段(Steady State)。基准性能测试中达到稳定状态很重要,也是可能的,大约需要几次写入后SSD可以达到稳定状态。
可见,目前SSD性能测试采用的方式,必须在测试前对SSD进行预调操作,这就使得SSD性能测试过程有些繁琐,极大影响了测试效率。同时,SSD性能测试之前需要达到的稳定状态,也没有一个统一的操作要求和标准,很容易导致SSD性能测试质量低下等问题。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种基于fio实现的SSD性能自动化测试方法。
本发明所述一种基于fio实现的SSD性能自动化测试方法,解决上述技术问题采用的技术方案如下:所述基于fio实现的SSD性能自动化测试方法,结合SSD性能测试的常用参数设置,基于fio命令,采用shell脚本,首先在SSD性能测试之前,将SSD设置为稳态状态,然后遍历不同的块大小分别对顺序读写、随机读写、混合随机读写的性能数据进行收集,自动化进行SSD稳态性能测试;最终将测试结果输出到日志中。
优选的,该基于fio实现的SSD性能自动化测试方法,其主要步骤包括:1)全盘写入若干次,设置SSD为稳态状态,2),遍历blocksize,进行顺序读写测试,3),遍历blocksize,进行随机读写测试,4),遍历blocksize,进行混合随机读写测试。
优选的,通过全盘写入两次,设置SSD为稳态状态。
本发明所述一种基于fio实现的SSD性能自动化测试方法,与现有技术相比具有的有益效果是:本发明自动实现了SSD的稳态以及性能数据的采集,采用的参数具有参考价值,摆脱了fio单条测试命令的局限性,解决了SSD性能及稳定性测试中测试质量效率低的问题,实现了SSD性能测试的自动化,提高了SSD性能测试的质量以及效率。
附图说明
附图1为基于fio实现的SSD性能自动化测试方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本发明所述一种基于fio实现的SSD性能自动化测试方法进一步详细说明。
针对现有SSD性能测试中存在的问题,本发明提出了一种基于fio实现的SSD性能自动化测试方法,fio常用来对硬件进行压力测试和验证,是测试IOPS(Input/OutputOperations Per Second,每秒进行读写操作的次数)的非常好的工具,能够支持13种不同的IO引擎,包括:sync,mmap,libaio,posixaio,SG v3,splice,null,network,syslet,guasi,solarisaio等等。
该基于fio实现的SSD性能自动化测试方法,采用shell脚本,实现了基于fio的SSD稳态下性能数据的自动采集;根据参数自动开始测试,首先采用fio命令将SSD设置为稳态,然后遍历不同块大小的顺序读写、随机读写和混合随机读写,最终完成SSD性能测试,并将结果输出到日志中。
实施例:1:
本实施例提出了一种基于fio实现的SSD性能自动化测试方法,结合SSD性能测试的常用参数设置,基于fio命令,采用shell脚本,首先在SSD性能测试之前,将SSD设置为稳态状态,然后遍历不同的块大小分别对顺序读写、随机读写、混合随机读写的性能数据进行收集,自动化进行SSD稳态性能测试;最终将测试结果输出到日志中。
本实施例基于fio实现的SSD性能自动化测试方法,其具体实现主要步骤包括:1)全盘写入若干次,设置SSD为稳态状态,2),遍历blocksize,进行顺序读写测试,3),遍历blocksize,进行随机读写测试,4),遍历blocksize,进行混合随机读写测试。
本实施例基于fio实现的SSD性能自动化测试方法,所使用的shell脚本的具体内容如下:
第一部分,比如,通过全盘写入两次,设置SSD稳态状态
echo"precondition starts">>sdr_result_$time.csv
fio--name=precondition--filename=/dev/sdr--numjobs=2--bs=128k--size=800g--ioengine=libaio--iodepth=32--iodepth_batch=16--iodepth_batch_complete=16--direct=1--rw=randwrite--group_reporting--randrepeat=0
echo"precondition complete">>sdr_result_$time.csv
第二部分,遍历blocksize,顺序读写测试
#Random read and write test
echo"">>sdr_result_$time.csv
for i in{1k,4k,8k,16k,32k,64k,128k,256k,512k,1024k,2048k}
do
echo"$i_rread start testing"
fio-filename=/dev/sdr-direct=1-iodepth 128-rw=randread-ioengine=libaio-bs=$i-numjobs=4--time_based--runtime=600--norandommap--randrepeat=0--bandwidth-log=1-group_reporting-name=mytest>$i.txt
BW=`cat$i.txt|grep iops=|cut-d','-f 2|grep-oE"[0-9.]+"`
BWU=`cat$i.txt|grep iops=|cut-d','-f 2|cut-d'='-f 2|seds'/[0-9.]//'g`
IOPS=`cat$i.txt|grep iops=|cut-d','-f 3|cut-d'='-f 2`
echo"$i_rread,$BW,$BWU,$IOPS">>sdr_result_$time.csv
rm-rf$i.txt
sleep 120
第三部分,遍历blocksize,随机读写测试
echo"$i_rwrite start testing"
fio-filename=/dev/sdr-direct=1-iodepth 128-rw=randwrite-ioengine=libaio-bs=$i-numjobs=4--time_based--runtime=600--norandommap--randrepeat=0--bandwidth-log=1-group_reporting-name=mytest>$i.txt
BW=`cat$i.txt|grep iops=|cut-d','-f 2|grep-oE"[0-9.]+"`
BWU=`cat$i.txt|grep iops=|cut-d','-f 2|cut-d'='-f 2|seds'/[0-9.]//'g`
IOPS=`cat$i.txt|grep iops=|cut-d','-f 3|cut-d'='-f 2`
echo"$i_rwrite,$BW,$BWU,$IOPS">>sdr_result_$time.csv
rm-rf$i.txt
sleep 120
done
第四部分,遍历blocksize,混合随机读写测试
#Mixed random read and write test
echo"">>sdr_result_$time.csv
for i in{1k,4k,8k,16k,32k,64k,128k,256k,512k,1024k,2048k}
do
echo"$i_randrw start testing"
fio-filename=/dev/sdr-direct=1-iodepth 128-rw=randrw--rwmixread=70-ioengine=libaio-bs=$i-numjobs=4--time_based--runtime=600--norandommap--randrepeat=0--bandwidth-log=1-group_reporting-name=mytest>$i.txt
BW=`cat$i.txt|grep iops=|cut-d','-f 2|grep-oE"[0-9.]+"|xargs|awk'{print$1+$2}'`
BWU=`cat$i.txt|grep iops=|cut-d','-f 2|cut-d'='-f 2|seds'/[0-9.]//'g|xargs|awk'{print$1}'`
IOPS=`cat$i.txt|grep iops=|cut-d','-f 3|cut-d'='-f 2|xargs|awk'{print$1+$2}'`
echo"$i_randrw,$BW,$BWU,$IOPS">>sdr_result_$time.csv
rm-rf$i.txt
sleep 120
done
具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。

Claims (3)

1.一种基于fio实现的SSD性能自动化测试方法,其特征在于, 结合SSD性能测试的常用参数设置,基于fio命令,采用shell脚本,首先在SSD性能测试之前,将SSD设置为稳态状态,然后遍历不同的块大小分别对顺序读写、随机读写、混合随机读写的性能数据进行收集,自动化进行SSD稳态性能测试;最终将测试结果输出到日志中。
2.根据权利要求1所述一种基于fio实现的SSD性能自动化测试方法,其特征在于,其实现步骤包括:1)全盘写入若干次,设置SSD为稳态状态,2),遍历blocksize,进行顺序读写测试,3),遍历blocksize,进行随机读写测试,4),遍历blocksize,进行混合随机读写测试。
3.根据权利要求2所述一种基于fio实现的SSD性能自动化测试方法,其特征在于, 通过全盘写入两次,设置SSD为稳态状态。
CN201710742527.5A 2017-08-25 2017-08-25 一种基于fio实现的SSD性能自动化测试方法 Pending CN107545927A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710742527.5A CN107545927A (zh) 2017-08-25 2017-08-25 一种基于fio实现的SSD性能自动化测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710742527.5A CN107545927A (zh) 2017-08-25 2017-08-25 一种基于fio实现的SSD性能自动化测试方法

Publications (1)

Publication Number Publication Date
CN107545927A true CN107545927A (zh) 2018-01-05

Family

ID=60958383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710742527.5A Pending CN107545927A (zh) 2017-08-25 2017-08-25 一种基于fio实现的SSD性能自动化测试方法

Country Status (1)

Country Link
CN (1) CN107545927A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109086176A (zh) * 2018-07-26 2018-12-25 郑州云海信息技术有限公司 一种基于fio的ssd稳态测试方法、装置、设备及存储介质
CN109215721A (zh) * 2018-10-24 2019-01-15 郑州云海信息技术有限公司 一种测试nvme ssd硬盘延迟的方法、装置及设备
CN109324940A (zh) * 2018-09-10 2019-02-12 郑州云海信息技术有限公司 基于Linux系统的SSD预处理方法及系统、性能测试方法及系统
CN109324937A (zh) * 2018-09-18 2019-02-12 郑州云海信息技术有限公司 一种测试ssd稳态的方法、装置、设备以及存储介质
CN109346122A (zh) * 2018-10-15 2019-02-15 郑州云海信息技术有限公司 固态硬盘性能的测试方法及装置
CN109471762A (zh) * 2018-10-30 2019-03-15 新华三技术有限公司 固态硬盘ssd性能测试方法和装置
CN109920468A (zh) * 2019-02-27 2019-06-21 苏州浪潮智能科技有限公司 一种ssd性能稳态验证的方法及系统
CN110111835A (zh) * 2019-04-18 2019-08-09 苏州浪潮智能科技有限公司 一种NVMe固态硬盘IOPS测试方法、系统及装置
CN110491438A (zh) * 2019-07-19 2019-11-22 苏州浪潮智能科技有限公司 一种硬盘稳定性跌落测试方法、系统、终端及存储介质
CN110517718A (zh) * 2019-08-22 2019-11-29 深圳忆联信息系统有限公司 一种有效筛选颗粒新增坏块的方法及其系统
CN110544503A (zh) * 2019-08-28 2019-12-06 深圳忆联信息系统有限公司 一种评估ssd总写入量的测试方法及计算机设备
CN111666184A (zh) * 2020-06-29 2020-09-15 腾讯科技(深圳)有限公司 固态驱动器ssd硬盘测试方法、装置及电子设备
CN111752778A (zh) * 2020-06-09 2020-10-09 苏州浪潮智能科技有限公司 一种linux下固态硬盘固件稳定性的测试方法及装置
CN111666184B (zh) * 2020-06-29 2024-07-09 腾讯科技(深圳)有限公司 固态驱动器ssd硬盘测试方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105487952A (zh) * 2015-12-15 2016-04-13 浪潮电子信息产业股份有限公司 一种基于fio的pcie-ssd自动化测试方法
CN106910532A (zh) * 2017-02-23 2017-06-30 郑州云海信息技术有限公司 一种自动化测试ssd性能的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105487952A (zh) * 2015-12-15 2016-04-13 浪潮电子信息产业股份有限公司 一种基于fio的pcie-ssd自动化测试方法
CN106910532A (zh) * 2017-02-23 2017-06-30 郑州云海信息技术有限公司 一种自动化测试ssd性能的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张弛: "SNIA发布企业级SSD评测规范", 《HTTPS://WWW.CSDN.NET/ARTICLE/2011-08-11/302960》 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109086176A (zh) * 2018-07-26 2018-12-25 郑州云海信息技术有限公司 一种基于fio的ssd稳态测试方法、装置、设备及存储介质
CN109324940A (zh) * 2018-09-10 2019-02-12 郑州云海信息技术有限公司 基于Linux系统的SSD预处理方法及系统、性能测试方法及系统
CN109324937A (zh) * 2018-09-18 2019-02-12 郑州云海信息技术有限公司 一种测试ssd稳态的方法、装置、设备以及存储介质
CN109346122B (zh) * 2018-10-15 2021-01-12 苏州浪潮智能科技有限公司 固态硬盘性能的测试方法及装置
CN109346122A (zh) * 2018-10-15 2019-02-15 郑州云海信息技术有限公司 固态硬盘性能的测试方法及装置
CN109215721A (zh) * 2018-10-24 2019-01-15 郑州云海信息技术有限公司 一种测试nvme ssd硬盘延迟的方法、装置及设备
CN109471762A (zh) * 2018-10-30 2019-03-15 新华三技术有限公司 固态硬盘ssd性能测试方法和装置
CN109920468A (zh) * 2019-02-27 2019-06-21 苏州浪潮智能科技有限公司 一种ssd性能稳态验证的方法及系统
CN110111835A (zh) * 2019-04-18 2019-08-09 苏州浪潮智能科技有限公司 一种NVMe固态硬盘IOPS测试方法、系统及装置
CN110111835B (zh) * 2019-04-18 2021-06-29 苏州浪潮智能科技有限公司 一种NVMe固态硬盘IOPS测试方法、系统及装置
CN110491438A (zh) * 2019-07-19 2019-11-22 苏州浪潮智能科技有限公司 一种硬盘稳定性跌落测试方法、系统、终端及存储介质
CN110517718B (zh) * 2019-08-22 2021-06-08 深圳忆联信息系统有限公司 一种有效筛选颗粒新增坏块的方法及其系统
CN110517718A (zh) * 2019-08-22 2019-11-29 深圳忆联信息系统有限公司 一种有效筛选颗粒新增坏块的方法及其系统
CN110544503A (zh) * 2019-08-28 2019-12-06 深圳忆联信息系统有限公司 一种评估ssd总写入量的测试方法及计算机设备
CN111752778A (zh) * 2020-06-09 2020-10-09 苏州浪潮智能科技有限公司 一种linux下固态硬盘固件稳定性的测试方法及装置
CN111752778B (zh) * 2020-06-09 2023-01-06 苏州浪潮智能科技有限公司 一种linux下固态硬盘固件稳定性的测试方法及装置
CN111666184A (zh) * 2020-06-29 2020-09-15 腾讯科技(深圳)有限公司 固态驱动器ssd硬盘测试方法、装置及电子设备
CN111666184B (zh) * 2020-06-29 2024-07-09 腾讯科技(深圳)有限公司 固态驱动器ssd硬盘测试方法、装置及电子设备

Similar Documents

Publication Publication Date Title
CN107545927A (zh) 一种基于fio实现的SSD性能自动化测试方法
CN106571954B (zh) 一种ap设备的异常重启原因检测方法及装置
US8762627B2 (en) Memory logical defragmentation during garbage collection
US8291155B2 (en) Data access method, memory controller and memory storage system
CN104102585B (zh) 映射信息记录方法、存储器控制器与存储器储存装置
US8706983B2 (en) Garbage collection of memory blocks using volatile memory
US20160253093A1 (en) A new USB protocol based computer acceleration device using multi I/O channel SLC NAND and DRAM cache
US20120005405A1 (en) Pre-Emptive Garbage Collection of Memory Blocks
US20100050007A1 (en) Solid state disk and method of managing power supply thereof and terminal including the same
TW201437807A (zh) 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置
CN101727295A (zh) 一种基于虚拟块闪存地址映射的数据写入及读出方法
DE112009000418T5 (de) Vorrichtung und Verfahren zur Nutzung eines Cache
CN103324466B (zh) 一种数据相关性序列化io的并行处理方法
CN108628542A (zh) 一种文件合并方法及控制器
US7035994B2 (en) Storage device, information processing system having storage device, format method for storage device, data recording method, and program for implementing formatting and data recording
CN107515827A (zh) Pcie ssd自定义日志的存储方法、装置及ssd
CN109669635A (zh) 用于固态存储主控芯片的命令lba重合检测方法及装置
CN108509355A (zh) 一种用于SSD的SLC Cache的方法和装置
CN109144419A (zh) 一种固态硬盘内存读写方法及系统
Seo et al. Empirical Analysis on Energy Efficiency of Flash-based SSDs.
CN114911662A (zh) 设置于固态硬盘主控芯片内的坏块扫描电路及扫描方法
CN107273251A (zh) 一种在生产环境下Rack机柜JBOD存储的测试方法
DE102021124072A1 (de) Verfahren zum Synchronisieren einer Zeit zwischen einer Hostvorrichtung und einer Speichervorrichtung und System zum Durchführen desselben
CN116136748B (zh) 基于FPGA实现的高带宽NVMe SSD读写系统与方法
US20040236923A1 (en) Variable sized flash memory in PCI

Legal Events

Date Code Title Description
PB01 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: 20180105