当前位置:网站首页>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)
边栏推荐
- Semiconductor devices (I) PN junction
- Consul安装
- UEFI development learning 6 - creation of protocol
- Bootloader implementation of PIC MCU
- Management and use of DokuWiki (supplementary)
- After installing the new version of keil5 or upgrading the JLINK firmware, you will always be prompted about the firmware update
- [trio basic tutorial 17 from getting started to mastering] set up and connect the trio motion controller and input the activation code
- Shape template matching based on Halcon learning [VII] reuse_ model. Hdev routine
- Reasons for rapid wear of conductive slip rings
- How to define guid in AMI code
猜你喜欢

C language enhancement -- pointer

Explain task scheduling based on Cortex-M3 in detail (Part 1)
![[trio basic tutorial 16 from introduction to proficiency] UDP communication test supplement](/img/54/78e4e10724b2762274b06debb10877.jpg)
[trio basic tutorial 16 from introduction to proficiency] UDP communication test supplement

Compilation warning solution sorting in Quartus II

Programming knowledge -- basis of C language
![[paper reading] the latest transfer ability in deep learning: a survey in 2022](/img/6b/b564fb7a6895329073fb5eaff64340.png)
[paper reading] the latest transfer ability in deep learning: a survey in 2022

Arduino uses nrf24l01+ communication

Briefly talk about the identification protocol of mobile port -bc1.2

Network communication process

PMSM dead time compensation
随机推荐
Live555 push RTSP audio and video stream summary (I) cross compilation
生产中影响滑环质量的因素
Sizeof (function name) =?
Summary of SIM card circuit knowledge
Explication de la procédure stockée pour SQL Server
Brief discussion on Buck buck circuit
UEFI development learning 5 - simple use of protocol
Tailq of linked list
Bluetooth hc-05 pairing process and precautions
Record the torch encountered by win10 cuda. is_ False problem in available()
Network port usage
Working principle and type selection of common mode inductor
[trio basic tutorial 18 from introduction to proficiency] trio motion controller UDP fast exchange data communication
C language enhancement -- pointer
Hardware and software solution of FPGA key chattering elimination
How to define guid in AMI code
More than 90% of hardware engineers will encounter problems when MOS tubes are burned out!
[trio basic from introduction to mastery tutorial XIV] trio realizes unit axis multi-color code capture
General makefile (I) single C language compilation template
UEFI development learning 2 - running ovmf in QEMU