当前位置:网站首页>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)
边栏推荐
- 生产中影响滑环质量的因素
- Live555 RTSP audio and video streaming summary (II) modify RTSP server streaming URL address
- Simple design description of MIC circuit of ECM mobile phone
- Verilog -- state machine coding method
- C WinForm [get file path -- traverse folder pictures] - practical exercise 6
- C language # and #
- Development tools -- gcc compiler usage
- Explain task scheduling based on Cortex-M3 in detail (Part 1)
- Record the torch encountered by win10 cuda. is_ False problem in available()
- Hardware and software solution of FPGA key chattering elimination
猜你喜欢

Carrier period, electrical speed, carrier period variation

PMSM dead time compensation

Arduino uses nrf24l01+ communication
![[tutorial 15 of trio basic from introduction to proficiency] trio free serial communication](/img/08/7f28008a4aa999650998ba8dee5d8e.jpg)
[tutorial 15 of trio basic from introduction to proficiency] trio free serial communication

Record the opening ceremony of Beijing Winter Olympics with display equipment
![Shape template matching based on Halcon learning [VII] reuse_ model. Hdev routine](/img/55/0f05291755dc1c3c03db8e991a1ba1.jpg)
Shape template matching based on Halcon learning [VII] reuse_ model. Hdev routine

Programming knowledge -- basis of C language

Connection mode - bridge and net

Summary -st2.0 Hall angle estimation

Process communication mode between different hosts -- socket
随机推荐
Live555 push RTSP audio and video stream summary (III) flower screen problem caused by pushing H264 real-time stream
Sql Server的存储过程详解
QEMU demo makefile analysis
Talk about the circuit use of TVs tube
Detailed explanation of SQL server stored procedures
Measurement fitting based on Halcon learning [III] PM_ measure_ board. Hdev routine
Sql Server的存儲過程詳解
Several important parameters of LDO circuit design and type selection
Naming rules for FreeRTOS
Imx6ull bare metal development learning 2- use C language to light LED indicator
Charge pump boost principle - this article will give you a simple understanding
How to copy formatted notepad++ text?
Correlation based template matching based on Halcon learning [II] find_ ncc_ model_ defocused_ precision. hdev
Screen record of the opening ceremony of the Beijing winter olympics 2
导电滑环磨损快的原因
Brief discussion on Buck buck circuit
UEFI development learning series
Bluetooth hc-05 pairing process and precautions
Zero length array in GNU C
STM32 virtualization environment of QEMU