CN107799158A - A kind of NVMe SSD IO delays automated testing method - Google Patents

A kind of NVMe SSD IO delays automated testing method Download PDF

Info

Publication number
CN107799158A
CN107799158A CN201711185350.XA CN201711185350A CN107799158A CN 107799158 A CN107799158 A CN 107799158A CN 201711185350 A CN201711185350 A CN 201711185350A CN 107799158 A CN107799158 A CN 107799158A
Authority
CN
China
Prior art keywords
test
nvme ssd
delay
automated testing
log
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
CN201711185350.XA
Other languages
Chinese (zh)
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 CN201711185350.XA priority Critical patent/CN107799158A/en
Publication of CN107799158A publication Critical patent/CN107799158A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50012Marginal testing, e.g. race, voltage or current testing of timing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56012Timing aspects, clock generation, synchronisation

Abstract

A kind of NVMe SSD IO delays automated testing method of the present application, described method comprise the following steps:S1:Test environment prepares;S2:Test equipment initializes;S3:Test parameter is set;S4:IO delay tests;S5:Monitoring system resource service condition;S6 handles test result.This method is simple to operate, can reduce testing cost, provides guarantee for the quality and efficiency of NVMe SSD IO delay tests, enriches method of testing.

Description

A kind of NVMe SSD IO delays automated testing method
Technical field
The present invention relates to SSD hard disk tests field, and in particular to the IO delay automated testing methods of NVMe SSD a kind of.
Background technology
With the arriving in big data epoch, enterprise's storage is faced with various performance challenges.SSD is solid state hard disc, uses solid-state Electronic store chip array and manufactured hard disk, have fast reading and writing, light weight, energy consumption that traditional mechanical hard disk do not possess low with And the features such as small volume.NVMe is a kind of a kind of agreement established in the M.2 similar AHCI on interface, is deposited exclusively for flash-type Store up the agreement of design.It is exactly low delay to contrast one of traditional AHCI, advantage important NVMe, and NVMe standards are towards PCI-E SSD's, led to using primary PCI-E passages and the direct-connected external controllers (PCH) that can remove SATA and SAS interfaces from of CPU with CPU It is delayed caused by letter.
NVMe SSD are at present a very concerned parts in field of storage, and one of its important advantage is exactly IO low Delay.
IO delay tests process and result directly affect NVMe SSD final performance, therefore a kind of rationally effective IO Time-delay test method is just particularly important.The instrument for being mainly used in IO benchmark tests in the industry at present is Iozone, Iometer It is only capable of reflecting the indexs of correlation such as I/O bandwidth, IOPS Deng, these instruments, IO delay indexs can not be provided.
In order to solve the above problems, the invention provides a kind of IO of NVMe SSD delay automated testing methods, use Fio can not only reflect NVMe SSD bandwidth, IOPS as test I/O delay instrument, Fio, more can intuitively reflect IO delays Situation.The method of testing is simple to operate, saves manpower, while reduces the misuse rate of manual test, prolongs for NVMe SSD IO When the quality tested and efficiency guarantee is provided.
The content of the invention
Specifically, a kind of NVMe SSD IO delays automated testing method is claimed in the application, it is characterised in that should Method specifically comprises the following steps:
S1:Test environment prepares;
S2:Test equipment initializes;
S3:Test parameter is set;
S4:IO delay tests;
S5:Monitoring system resource service condition;
S6:Handle test result.
NVMe SSD IO delay automated testing methods as described above, are further characterized in that, step S1 specific implementation Step is:
S11:The resource for limiting shel l processes and its subprocess uses;
S12:Configure NVMe SSD I/O dispatching algorithms;
S13:Data syn-chronization, empty caching.
NVMe SSD IO delay automated testing methods as described above, are further characterized in that, step S2 specific implementation Step is:
S21:The IO order initialization apparatus for being 16k with block size is needed before sequential testing, is needed before random test with big The small IO random initializtion equipment for 16k, initialization result is put into rw_precondit ion.log randrw_ In precondit ion.log.
NVMe SSD IO delay automated testing methods as described above, are further characterized in that, step S4 specific implementation Step is:
S41:Printing test command log is to result.log;
S42:Perform test.
NVMe SSD IO delay automated testing methods as described above, are further characterized in that, step S5 specific implementation Step is:
S51:During every IO delay test, made by iostat, mpstat, free order monitoring system resource With situation, and it is output to corresponding daily record;
S52:Ends with system resource service condition monitors after the completion of every IO delay test item.
NVMe SSD IO delay automated testing methods as described above, are further characterized in that, step S6 specific implementation Step is:
S61:Generate test result gauge outfit;
S62:Match every IO delay test result.
Brief description of the drawings
Fig. 1, present invention I O delay automated testing method flow chart
Fig. 2, the present invention output test result structure chart
Embodiment
In order that those skilled in the art better understood when, realize the present invention, below by specific embodiment pair The present invention is described in detail.The present invention uses following technical scheme:
The IO delay automated testing methods of NVMe SSD a kind of, described method include following 6 steps:
S1:Test environment prepares;
S2:Test equipment initializes;
S3:Test parameter is set;
S4:IO delay tests;
S5:Monitoring system resource service condition;
S6:Handle test result.
Particular content is as follows:
1st, step S1 specific implementation step is:
S11:The resource for limiting shell processes and its subprocess uses;
It is implemented as follows:
Ulimit-d unlimited# are not limited to the data segment, length of process
Ulimit-s unlimited# are not limited to storehouse size
Ulimit-m unlimited# are not limited to maximum memory
Ulimit-v unlimited# are not limited to maximum available virtual memory
Ulimit-t unlimited# are not limited to the cpu holding times of maximum
Ulimit-n 500000# limitations maximum can use 500000 filec descriptors
S12:Configure NVMe SSD I/O dispatching algorithms;
The I/O dispatching algorithms for setting NVMe SSD are noop, and dispatching algorithm type is output into result scheduler.log In.
It is implemented as follows:
echo"noop">/sys/block/basename${iter_disk}`/queue/scheduler
cat/sys/block/`basename${iter_disk}`/queue/scheduler>${result_dir}/ scheduler.log
Wherein basename $ { iter_disk } ` is tested NVMe SSD equipment.
S13:Data syn-chronization, empty caching.
IO in buffer is forced by write-in disk by sync orders, then empties caching.
2nd, step S2 specific implementation step is:
S21:The IO order initialization apparatus for being 16k with block size is needed before sequential testing, is needed before random test with big The small IO random initializtion equipment for 16k, initialization result is put into rw_precondition.log randrw_ In precondition.log.
It is implemented as follows:
./fio--name=$ { filename } _ precondition--time_based--numjobs=8--rw=$ Rw--direct=1--ioengine=libaio--filename=$ { filename } -- rwmixread=0--bs= 16k--iodepth=32--runtime=$ pretime>>${basedir_log}/${rw}_precondition.log
Wherein
Filename is tested NVMe SSD equipment, such as/dev/NVMe01
Rw is rw/randrw, i.e. I/O type order/random
Pretime is 7200, i.e. initialization time is 7200s
S22:Data syn-chronization, empty caching.
The IO in buffer is forced write-in disk by fs_sync functions in invocation step S13, then empties caching.Ensure to survey Test result is reliable.
3rd, step S3 specific implementation step is:
S31:Test parameter is set.
Direct=1# test process bypasses the buffer that machine carries.Make test result truer.
Ioengine=libaio# test I/O engines are libaio
Numjobs_arr=(4) # test threads are 4
Rw_arr=(rw randrw) # order read-writes IO, random read-write IO
Under the pattern of rwmixread_arr=(0 70 100) # mixing read-writes, reading accounts for 0%, 70%, 100%
Io_depth_arr=(32 64) #IO queue depths are 32,64
Bs_arr=(4 8 16 32 64 128 256 512) #IO block sizes be 4k, 8k, 16k, 32k, 64k, 128k, 256k、512k
The rtime=600# testing times are 600s
4th, step S4 specific implementation step is:
S41:Printing test command log is to result.log;
Tlog " ./fio--name=$ name--time_based--group_reporting--numjobs=$ Numjobs--rw=$ rw--direct=$ direct--ioengine=$ ioengine--filename=$ filename-- Rwmixread=$ rwmixread--bs=$ { bs } k--iodepth=$ { io_depth } -- runtime=$ rtime-- minimal>>$ { basedir_log }/result.log " # export every test log to result.log
S42:Perform test.
./fio--name=$ name--time_based--group_reporting--numjobs=$ numjobs-- Rw=$ rw--direct=$ direct--ioengine=$ ioengine--filename=$ filename--rwmixread =$ rwmixread--bs=$ { bs } k--iodepth=$ { io_depth } -- runtime=$ rtime--minimal>>$ {basedir_log}/result.log
All test parameter values are passed to by step S31 in the # test commands, and are owned using for searching loops All values in test parameter.
5th, step S5 specific implementation step is:
S51:During every IO delay test, made by iostat, mpstat, free order monitoring system resource With situation, and it is output to corresponding daily record
I.e. before every IO delay test item of step S42 starts, monitor command is performed
It is implemented as follows:
mpstat-P ALL 30>${basedir_stat}/${name}_mp.log&
The cpu busy percentage that # samples once all processors every 30s is output to corresponding daily record
free-m-s 30|grep Mem|awk-F""'{print$3}'>${basedir_stat}/${name}raw_ mem.log&
# samples once idle internal memory every 30s and is output to corresponding daily record
iostat-xm 30-p$filename>${basedir_stat}/${name}_io.log &
# samples a CPU every 30s and I/O load situation is output to corresponding daily record
S52:Ends with system resource service condition monitors after the completion of every IO delay test item
I.e. after step S42 test commands terminate, terminate monitoring
It is implemented as follows:
Pkill iostat# terminate iostat processes
Pkill mpstat# terminate mpstat processes
Pkill free# terminate free processes
6th, step S6 specific implementation step is:
S61:Generate test result gauge outfit
I.e. before step 4 beginning IO delay tests start, generation test result gauge outfit is output to result.csv
It is implemented as:
echo
" DISK, SEQ_RAND, DIRECT_IO, BLOCK (KB), READ%, R_BW (KB), R_IOPS, R_LAT (ms), W_BW(KB),W_IO PS,W_LAT(ms),Threads,PD_Num,IO_Depth"|tee-a${basedir_result}/ result.csv
S62:Match every IO delay test result
I.e. after step S52, final result is matched from the result.log of step S42 outputs by ordering, and chase after It is added to result.csv
It is implemented as:
tail-n1${basedir_log}/result.log|awk-F";" ' printf " %s, %s, %d, %d, % D, %d, %d, %.3f, %d, %d, %.3f, %d, %d, %d n ", " ' $ { prefix } ' ", " ' $ srw' ", " ' $ dire ct'","'$bs'","'$rwmixread'",$7,$8,$40/1000,$48,$49,$81/1000,"'$numjobs'","'$ numj obs'","'$io_depth'"}'|tee-a${basedir_result}/result.csv
It should be evident that illustrated above is only the specific embodiment of the present invention, for the common skill in this area For art personnel, on the premise of not paying creative work, other technical schemes can also be obtained according to above-described embodiment, And the equivalent variations made in the scope of protection of the invention all should be fallen within the scope of protection of the present invention, and belong to the present invention The scope of protection.
In summary, the present invention is used by limiting the resource of shel l processes and its subprocess before test, configures NVMe SSD I/O dispatching algorithms, optimize NVMe SSD performances;The IO in buffer is forced to brush in disk before test, then emptied slow Deposit, initialization can lift test result reliability totally before equipment test.IO delays automatic test side of the present invention Method, many kinds of parameters selectable value can be covered, tested more comprehensively, fully;Monitoring cpu, memory, io is born in real time in test process Load situation, test can be performed automatically with subtest interpretation of result, by automatically processing test result this link, retain Fio The original test result of instrument, body IO delay product values are extracted, make test result readability more directly perceived, save the time, simplify behaviour by hand Make.

Claims (6)

  1. The automated testing method 1. a kind of NVMe SSD IO are delayed, it is characterised in that this method specifically comprises the following steps:
    S1:Test environment prepares;
    S2:Test equipment initializes;
    S3:Test parameter is set;
    S4:IO delay tests;
    S5:Monitoring system resource service condition;
    S6:Handle test result.
  2. The automated testing method 2. NVMe SSD IO as claimed in claim 1 are delayed, is further characterized in that, step S1 tool Body realizes that step is:
    S11:The resource for limiting shell processes and its subprocess uses;
    S12:Configure NVMe SSD I/O dispatching algorithms;
    S13:Data syn-chronization, empty caching.
  3. The automated testing method 3. NVMe SSD IO as claimed in claim 2 are delayed, is further characterized in that, step S2 tool Body realizes that step is:
    S21:The IO order initialization apparatus for being 16k with block size is needed before sequential testing, needed before random test be with size 16k IO random initializtion equipment, rw_precondition.log randrw_ are put into by initialization result In precondition.log.
  4. The automated testing method 4. NVMe SSD IO as claimed in claim 3 are delayed, is further characterized in that, step S4 tool Body realizes that step is:
    S41:Printing test command log is to result.log;
    S42:Perform test.
  5. The automated testing method 5. NVMe SSD IO as claimed in claim 4 are delayed, is further characterized in that, step S5 tool Body realizes that step is:
    S51:During every IO delay test, feelings are used by iostat, mpstat, free order monitoring system resource Condition, and it is output to corresponding daily record;
    S52:Ends with system resource service condition monitors after the completion of every IO delay test item.
  6. 6. NVMe SSD IO delay automated testing methods as claimed in claim 5, are further characterized in that, step S6 tool Body realizes that step is:
    S61:Generate test result gauge outfit;
    S62:Match every IO delay test result.
CN201711185350.XA 2017-11-23 2017-11-23 A kind of NVMe SSD IO delays automated testing method Pending CN107799158A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711185350.XA CN107799158A (en) 2017-11-23 2017-11-23 A kind of NVMe SSD IO delays automated testing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711185350.XA CN107799158A (en) 2017-11-23 2017-11-23 A kind of NVMe SSD IO delays automated testing method

Publications (1)

Publication Number Publication Date
CN107799158A true CN107799158A (en) 2018-03-13

Family

ID=61536632

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711185350.XA Pending CN107799158A (en) 2017-11-23 2017-11-23 A kind of NVMe SSD IO delays automated testing method

Country Status (1)

Country Link
CN (1) CN107799158A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108763000A (en) * 2018-05-23 2018-11-06 郑州云海信息技术有限公司 A kind of hard disk I/O Request delay simulation judgment method and system based on Linux platform
CN109062775A (en) * 2018-07-09 2018-12-21 郑州云海信息技术有限公司 A kind of method, system and the equipment of stack layer optimization judgement
CN109215721A (en) * 2018-10-24 2019-01-15 郑州云海信息技术有限公司 A kind of method, device and equipment of test NVME SSD hard disk delay
CN109256173A (en) * 2018-08-13 2019-01-22 中国航空无线电电子研究所 On-board memory devices test macro
CN110554936A (en) * 2018-06-04 2019-12-10 记忆科技(深圳)有限公司 SSD (solid State disk) testing method and system
CN116682479A (en) * 2023-07-28 2023-09-01 江苏华存电子科技有限公司 Method and system for testing enterprise-level solid state disk time delay index

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317693A (en) * 2014-10-30 2015-01-28 浪潮电子信息产业股份有限公司 Method for automatically testing hard disk performance fluctuation
CN104598344A (en) * 2015-02-03 2015-05-06 浪潮电子信息产业股份有限公司 Shell-based memory read-write testing method
CN105487952A (en) * 2015-12-15 2016-04-13 浪潮电子信息产业股份有限公司 PCIE-SSD automatic test method based on FIO
CN107358980A (en) * 2017-07-19 2017-11-17 郑州云海信息技术有限公司 A kind of method of automatic test SSD delays

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317693A (en) * 2014-10-30 2015-01-28 浪潮电子信息产业股份有限公司 Method for automatically testing hard disk performance fluctuation
CN104598344A (en) * 2015-02-03 2015-05-06 浪潮电子信息产业股份有限公司 Shell-based memory read-write testing method
CN105487952A (en) * 2015-12-15 2016-04-13 浪潮电子信息产业股份有限公司 PCIE-SSD automatic test method based on FIO
CN107358980A (en) * 2017-07-19 2017-11-17 郑州云海信息技术有限公司 A kind of method of automatic test SSD delays

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
RAYKUAN: "IO测试工具之fio详解", 《CNBLOGS》 *
吴永佩: "《Linux指令范例速查辞典》", 31 March 2014 *
蒋健春: "《计算机网络管理理论与实践教程》", 30 September 2008 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108763000A (en) * 2018-05-23 2018-11-06 郑州云海信息技术有限公司 A kind of hard disk I/O Request delay simulation judgment method and system based on Linux platform
CN110554936A (en) * 2018-06-04 2019-12-10 记忆科技(深圳)有限公司 SSD (solid State disk) testing method and system
CN109062775A (en) * 2018-07-09 2018-12-21 郑州云海信息技术有限公司 A kind of method, system and the equipment of stack layer optimization judgement
CN109062775B (en) * 2018-07-09 2022-02-18 郑州云海信息技术有限公司 Method, system and equipment for judging optimization of stack layer
CN109256173A (en) * 2018-08-13 2019-01-22 中国航空无线电电子研究所 On-board memory devices test macro
CN109215721A (en) * 2018-10-24 2019-01-15 郑州云海信息技术有限公司 A kind of method, device and equipment of test NVME SSD hard disk delay
CN116682479A (en) * 2023-07-28 2023-09-01 江苏华存电子科技有限公司 Method and system for testing enterprise-level solid state disk time delay index

Similar Documents

Publication Publication Date Title
CN107799158A (en) A kind of NVMe SSD IO delays automated testing method
WO2020233212A1 (en) Log record processing method, server, and storage medium
CN106293944B (en) non-consistency-based I/O access system and optimization method under virtualized multi-core environment
Mihailescu et al. {MixApart}: Decoupled Analytics for Shared Storage Systems
Moon et al. Introducing ssds to the hadoop mapreduce framework
JP2018511112A (en) Sequential write stream management
CN106708627B (en) Kvm-based multi-virtual machine mapping and multi-channel fuse acceleration method and system
CN111722786A (en) Storage system based on NVMe equipment
CN104317684A (en) Method for synchronously automatic testing of bandwidth and transmission rate of multiple USB (Universal Serial Bus) interfaces
CN104391548A (en) Method for improving chip FW burning efficiency of server Expander board cards
CN104660471A (en) Method for automatically testing PCIE-SSD transmitting velocity and band width under Linux
CN108595108A (en) A kind of moving method and device of data
CN106126124A (en) A kind of data processing method and electronic equipment
CN113722248B (en) Command processing method and command processing device
Xu et al. Performance characterization of hyperscale applicationson on nvme ssds
CN108121601A (en) A kind of application resource dispatching device and method based on weight
CN110209597A (en) Handle method, apparatus, equipment and the storage medium of access request
US11748241B2 (en) Method and apparatus for generating simulated test IO operations
CN105468488A (en) Method, device and system of diskless CPU (Central Processing Unit) on the basis of IB (InfiniBand) network
US10705853B2 (en) Methods, systems, and computer-readable media for boot acceleration in a data storage system by consolidating client-specific boot data in a consolidated boot volume
US20160170892A1 (en) Expression pattern matching in a storage subsystem
CN105260281A (en) Iozone based PCIE SSD card performance test method
CN105139890B (en) A kind of information processing method and solid state hard disk
US20190129626A1 (en) Selectively limiting throughput of test objects that share system resources with production objects
CN104536861A (en) Multi-operation system based FC SAN (Fiber Channel Storage Area Network) memory testing method

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

Application publication date: 20180313

RJ01 Rejection of invention patent application after publication