Local Disk I/O Performance Test
Note: This document is intended solely for benchmark testing of I/O performance. Since the local disk is a shared resource, its I/O may experience fluctuations, resulting in performance that may not meet the standards outlined in this document. For more stable I/O, it is recommended to use a cloud disk.
Disk Performance Indicators
Sequential Read/Write (Throughput, commonly measured in MB/s): The storage location of the file on the hard disk is continuous.
Applicable scenario: Large file transfers (e.g., video or music). While high speeds are achieved, they do not provide a reference for database performance.
4K Random Read/Write (IOPS, common unit is times): Read and write data at random locations on the hard drive, 4KB each time.
Applicable scenario: Operating system performance, software execution, and database operations.
The following data was obtained from the I/O benchmark performance test conducted on the "UHost Standard Edition Model" and the "UHost High-Performance SSD Model," using the specified block sizes of "4K" and "512K" with a queue depth of "128." The tests were performed using the general I/O testing tool "fio."
Test Results
Test 1. Sequential Read/Write 512K
(Comparison between local normal disk and local SSD)
Test 2. Random Read/Write 4K
(Comparison between local normal disk and local SSD)
Test Details
Tool: fio
Official website:
Note: For accurate performance testing, it is advisable to write directly to the bare disk. However, this approach will destroy the filesystem structure and result in data loss. Please ensure that all data on the disk has been backed up prior to testing.
Block size: 4kb / 512kb
Queue depth: 128
fio.conf configuration:
[global]
ioengine=libaio
iodepth=128
time_based
direct=1
thread=1
group_reporting
randrepeat=0
norandommap
numjobs=32
timeout=6000
runtime=120
[randread-4k]
rw=randread
bs=4k
filename=/dev/sdb Note: /dev/sdb is the device name of the target test disk
rwmixread=100
stonewall
[randwrite-4k]
rw=randwrite
bs=4k
filename=/dev/sdb
stonewall
[read-512k]
rw=read
bs=512k
filename=/dev/sdb
stonewall
[write-512k]
rw=write
bs=512k
filename=/dev/sdb
stonewall
Usage: shell$> fio fio.conf