Here are two IO test. First one using sysbench, the second one was made using fio:
### sysbench ###
sysbench fileio --file-total-size=15G --file-test-mode=rndrw --time=300 --max-requests=0 --file-io-mode=async --file-extra-flags=direct --file-num=1 --file-rw-ratio=1 --file-fsync-freq=0 run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: directio
1 files, 15GiB each
15GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.00
Calling fsync() at the end of test, Enabled.
Using asynchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
File operations:
reads/s: 20040.73
writes/s: 20040.56
fsyncs/s: 0.00
Throughput:
read, MiB/s: 313.14
written, MiB/s: 313.13
General statistics:
total time: 300.0050s
total number of events: 12024999
Latency (ms):
min: 0.01
avg: 0.02
max: 42.99
95th percentile: 0.04
sum: 292995.31
Threads fairness:
events (avg/stddev): 12024999.0000/0.00
execution time (avg/stddev): 292.9953/0.00
### fio ###
fio -direct=1 -iodepth=128 -rw=randrw -ioengine=libaio -bs=4m -size=10G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=randrw_test
randrw_test: (g=0): rw=randrw, bs=(R) 4096KiB-4096KiB, (W) 4096KiB-4096KiB, (T) 4096KiB-4096KiB, ioengine=libaio, iodepth=128
fio-3.16
Starting 1 process
randrw_test: Laying out IO file (1 file / 10240MiB)
Jobs: 1 (f=1): [m(1)][100.0%][r=724MiB/s,w=648MiB/s][r=181,w=162 IOPS][eta 00m:00s]
randrw_test: (groupid=0, jobs=1): err= 0: pid=396151: Thu Jan 21 16:03:28 2021
read: IOPS=159, BW=638MiB/s (669MB/s)(5048MiB/7908msec)
slat (usec): min=670, max=13612, avg=3043.95, stdev=2634.92
clat (msec): min=138, max=927, avg=333.64, stdev=43.34
lat (msec): min=149, max=933, avg=336.68, stdev=43.35
clat percentiles (msec):
| 1.00th=[ 215], 5.00th=[ 296], 10.00th=[ 309], 20.00th=[ 321],
| 30.00th=[ 326], 40.00th=[ 330], 50.00th=[ 330], 60.00th=[ 334],
| 70.00th=[ 338], 80.00th=[ 347], 90.00th=[ 359], 95.00th=[ 376],
| 99.00th=[ 456], 99.50th=[ 584], 99.90th=[ 860], 99.95th=[ 927],
| 99.99th=[ 927]
bw ( KiB/s): min=385024, max=753664, per=97.31%, avg=636057.73, stdev=98391.43, samples=15
iops : min= 94, max= 184, avg=155.20, stdev=23.96, samples=15
write: IOPS=164, BW=657MiB/s (688MB/s)(5192MiB/7908msec); 0 zone resets
slat (usec): min=331, max=15904, avg=3011.16, stdev=2737.95
clat (msec): min=137, max=666, avg=440.57, stdev=81.70
lat (msec): min=138, max=672, avg=443.58, stdev=81.80
clat percentiles (msec):
| 1.00th=[ 226], 5.00th=[ 317], 10.00th=[ 334], 20.00th=[ 363],
| 30.00th=[ 388], 40.00th=[ 418], 50.00th=[ 451], 60.00th=[ 477],
| 70.00th=[ 498], 80.00th=[ 518], 90.00th=[ 542], 95.00th=[ 558],
| 99.00th=[ 592], 99.50th=[ 617], 99.90th=[ 642], 99.95th=[ 667],
| 99.99th=[ 667]
bw ( KiB/s): min=335872, max=770048, per=96.48%, avg=648627.60, stdev=105469.60, samples=15
iops : min= 82, max= 188, avg=158.27, stdev=25.73, samples=15
lat (msec) : 250=1.41%, 500=83.87%, 750=14.61%, 1000=0.12%
cpu : usr=5.36%, sys=19.16%, ctx=2426, majf=0, minf=11
IO depths : 1=0.1%, 2=0.1%, 4=0.2%, 8=0.3%, 16=0.6%, 32=1.2%, >=64=97.5%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.1%
issued rwts: total=1262,1298,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=128
Run status group 0 (all jobs):
READ: bw=638MiB/s (669MB/s), 638MiB/s-638MiB/s (669MB/s-669MB/s), io=5048MiB (5293MB), run=7908-7908msec
WRITE: bw=657MiB/s (688MB/s), 657MiB/s-657MiB/s (688MB/s-688MB/s), io=5192MiB (5444MB), run=7908-7908msec
mysql has been stopped before testing