CN107799158A - A kind of NVMe SSD IO delays automated testing method - Google Patents
A kind of NVMe SSD IO delays automated testing method Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50012—Marginal testing, e.g. race, voltage or current testing of timing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C29/56012—Timing 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
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)
- 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.
- 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.
- 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.
- 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.
- 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. 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.
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)
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)
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 |
-
2017
- 2017-11-23 CN CN201711185350.XA patent/CN107799158A/en active Pending
Patent Citations (4)
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)
Title |
---|
RAYKUAN: "IO测试工具之fio详解", 《CNBLOGS》 * |
吴永佩: "《Linux指令范例速查辞典》", 31 March 2014 * |
蒋健春: "《计算机网络管理理论与实践教程》", 30 September 2008 * |
Cited By (7)
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 |