当前位置:网站首页>Detailed summary of FIO test hard disk performance parameters and examples (with source code)
Detailed summary of FIO test hard disk performance parameters and examples (with source code)
2022-07-05 08:15:00 【Happy learning】
Catalog
One 、 brief introduction
This paper mainly introduces FIO Specific parameters 、 Download the source code and use examples FIO Hard disk performance test ,FIO yes Linux The next open source IOPS Testing tools , It is mainly used for stress testing and performance verification of disks .
It can generate many threads or processes to execute user specific types of I/O operation , By writing job files ( Be similar to k8s Of yaml) Or direct the command to execute the test action , It is equivalent to a multithreaded io Generation tool , Used to generate multiple IO Mode to test the performance of hard disk devices ( In most cases, it is used to test the performance of bare disk ).
Two 、 Source code download and parameter analysis
2.1 Source code download method
1、git Direct download
https://github.com/axboe/fio.git
[[email protected] /]# wget https://github.com/axboe/fio/archive/refs/tags/fio-3.10.zip
[[email protected] /]# cd /root/fio-fio-3.10
[[email protected] /]# ./configure
[[email protected] /]# make && make install
2、 Some system sources already have fio package
[[email protected] /]# apt-get install fio -y // Direct download
2.2 Argument parsing
Parameters | analysis |
---|---|
-name | The name used to output information , In the use of the above command line , Indicates a new job The beginning of , Default is job name |
-filename | Test file name , Usually choose the disk that needs to be tested data Catalog |
-group_reporting | Gather all the information , Not every one of them job All show specific results |
-iodepth | The queue depth of this test |
-ioengine | The load generated by the engine , Definition job Initiate... To the file io The way .Fio There are many engines , Specifically, you can search online , The commonly used engine is libaio and |
-volume and -brick | These two are used to test the mount point , Other scenes don't need . |
-nrfiles | Number of files generated per process |
-rw | How to read and write , Sequential reading , Sequential writing , random block read , Write at random , Mix reading and writing |
-bs | Block size , General tests 4k, 8k, 64k, 128k, 1M |
-size | Size of test file |
-threads | fio By default fork() establish job, If this option is set ,fio Will use pthread_create To create threads |
-numjobs | Number of threads created |
-direct | The test process bypasses the machine's own buffer or cache, amount to o_direct Other parameters for relatively advanced point usage , such as :-runtime Test duration |
-bssplit=4k/40:64k/30:1M/30 | Mixed block size ,4k:64k:1M = 4:3:3 |
bsrange=512-2048 | The range of block sizes , Same as bs Parameters |
-rw=randrw, -rwmixread=70 | Mix reading and writing 7:3 |
FIO Precautions before test :
1、 Test environment configuration
yum -y install libaio-devel // install libaio engine , Otherwise, execute fio Will be submitted to the “fio: engine libaio not loadable”, Must be in fio Install before installation , Otherwise, you have to compile and install again fio
2、 When writing the test, pay attention to whether to operate the bare disk or the disk with data , Because the write operation will format the existing data on the hard disk , If you want to test the partition 、 And create a file system , And perform performance test on the disk that has written data , Please note that filename Select the specified file , To avoid overwriting the file system and original data .
2.3 Test case
Read performance test
fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=20G -numjobs=30 -runtime=1000 -group_reporting -name=yaoxu-sda
// test sda Bare disk performance ,-direct=1 Bypassing the machine cache, The queue depth is 1, Block size is 16k, Test the file The size is 20G, establish 30 Threads , The test duration is 1000s
test result :
Write performance test
fio -filename=/dev/sda -direct=1 -iodepth 256 -thread=1 -rw=write -ioengine=libaio -bs=128k -size=5G -numjobs=4 -runtime=60 -group_reporting -name=eric-test
test result :
3、 ... and 、 Other related links
3.1 Linux Next stream Memory bandwidth test summary with source code
3.2 Linux Lower distinguishing disk (HDD) And SSDs (SSD)
边栏推荐
- Gradle复合构建
- Connection mode - bridge and net
- Carrier period, electrical speed, carrier period variation
- 动力电池UL2580测试项目包括哪些
- Slist of linked list
- Shell script realizes the reading of serial port and the parsing of message
- What are the test items of power battery ul2580
- Shape template matching based on Halcon learning [v] find_ cocoa_ packages_ max_ deformation. Hdev routine
- My-basic application 2: my-basic installation and operation
- Soem EtherCAT source code analysis II (list of known configuration information)
猜你喜欢
NTC thermistor application - temperature measurement
Measurement fitting based on Halcon learning [III] PM_ measure_ board. Hdev routine
Record the visual shock of the Winter Olympics and the introduction of the screen 2
Hardware 1 -- relationship between gain and magnification
QEMU STM32 vscode debugging environment configuration
STM32 virtualization environment of QEMU
Circleq of linked list
Semiconductor devices (III) FET
Halcon's practice based on shape template matching [1]
C, Numerical Recipes in C, solution of linear algebraic equations, LU decomposition source program
随机推荐
Basic embedded concepts
Shape template matching based on Halcon learning [vi] find_ mirror_ dies. Hdev routine
List of linked lists
Halcon's practice based on shape template matching [1]
Stablq of linked list
Let's briefly talk about the chips commonly used in mobile phones - OVP chips
Create inf module in AMI code
Makefile application
Baiwen 7-day smart home learning experience of Internet of things
Class of color image processing based on Halcon learning_ ndim_ norm. hdev
Sql Server的存储过程详解
Naming rules for FreeRTOS
Reasons for rapid wear of conductive slip rings
2021-10-28
Mlperf training v2.0 list released, with the same GPU configuration, the performance of Baidu PaddlePaddle ranks first in the world
C WinForm [display real-time time in the status bar] - practical exercise 1
Semiconductor devices (III) FET
Consul安装
如何进行导电滑环选型
My-basic application 1: introduction to my-basic parser