当前位置:网站首页>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)
边栏推荐
- Sql Server的存储过程详解
- Let's briefly talk about the chips commonly used in mobile phones - OVP chips
- Semiconductor devices (I) PN junction
- Interview catalogue
- On boost circuit
- C#,数值计算(Numerical Recipes in C#),线性代数方程的求解,LU分解(LU Decomposition)源程序
- Fundamentals of C language
- Create inf module in AMI code
- 导电滑环磨损快的原因
- Talk about the function of magnetic beads in circuits
猜你喜欢
Carrier period, electrical speed, carrier period variation
Hardware 1 -- relationship between gain and magnification
LED display equipment records of the opening ceremony of the Beijing Winter Olympics
List of linked lists
How to copy formatted notepad++ text?
DCDC circuit - function of bootstrap capacitor
Create inf module in AMI code
Shell script basic syntax
Class of color image processing based on Halcon learning_ ndim_ norm. hdev
C WinForm [display real-time time in the status bar] - practical exercise 1
随机推荐
Summary of SIM card circuit knowledge
Negative pressure generation of buck-boost circuit
[cloud native | learn kubernetes from scratch] III. kubernetes cluster management tool kubectl
Classic application of MOS transistor circuit design (2) - switch circuit design
Live555 RTSP audio and video streaming summary (II) modify RTSP server streaming URL address
QEMU STM32 vscode debugging environment configuration
Step motor generates S-curve upper computer
Wifi-802.11 negotiation rate table
Working principle and type selection of common mode inductor
Naming rules for FreeRTOS
Slist of linked list
Network communication process
Nb-iot technical summary
Explication de la procédure stockée pour SQL Server
C WinForm [change the position of the form after running] - Practical Exercise 4
[trio basic from introduction to mastery tutorial 20] trio calculates the arc center and radius through three points of spatial arc
Record the torch encountered by win10 cuda. is_ False problem in available()
Soem EtherCAT source code analysis II (list of known configuration information)
The firmware of the connected j-link does not support the following memory access
How to excavate and research ideas from the paper