IO性能评估

通过 fioopen in new window 进行 IO 性能测试的结果如下:

提示

其中多个客户端挂载同一个卷,进程指 fio 进程。

顺序读

工具设置

#!/bin/bash
fio -directory={} \
    -ioengine=psync \
    -rw=read \  # sequential read
    -bs=128k \  # block size
    -direct=1 \ # enable direct IO
    -group_reporting=1 \
    -fallocate=none \
    -time_based=1 \
    -runtime=120 \
    -name=test_file_c{} \
    -numjobs={} \
    -nrfiles=1 \
    -size=10G

带宽(MB/s)

Sequential Read Bandwidth (MB/s)

1 进程4 进程16 进程64 进程
1 客户端319.0001145.0003496.0002747.000
2 客户端625.0002237.0006556.0005300.000
4 客户端1326.0004433.0008979.0009713.000
8 客户端2471.0007963.00011878.40017510.400

IOPS

Sequential Read IOPS

1 进程4 进程16 进程64 进程
1 客户端255291582700021000
2 客户端5003179005240042400
4 客户端10600355007180077700
8 客户端198006370094700140000

延迟(微秒)

Sequential Read Latency (Microsecond)

1 进程4 进程16 进程64 进程
1 客户端391.350436.170571.2002910.960
2 客户端404.030459.330602.2703011.920
4 客户端374.450445.550892.3902948.990
8 客户端404.530503.5901353.9104160.620

顺序写

工具设置

#!/bin/bash
fio -directory={} \
    -ioengine=psync \
    -rw=write \ # sequential write
    -bs=128k \  # block size
    -direct=1 \ # enable direct IO
    -group_reporting=1 \
    -fallocate=none \
    -name=test_file_c{} \
    -numjobs={} \
    -nrfiles=1 \
    -size=10G

带宽(MB/s)

Sequential Write Bandwidth (MB/s)

1 进程4 进程16 进程64 进程
1 客户端119.000473.0001618.0002903.000
2 客户端203.000886.0002917.0005465.000
4 客户端397.0001691.0004708.0007256.000
8 客户端685.0002648.0006257.0007166.000

IOPS

Sequential Write IOPS

1 进程4 进程16 进程64 进程
1 客户端94837831290023200
2 客户端162570872330043700
4 客户端3179135003770058000
8 客户端5482212005010057300

延迟(微秒)

Sequential Write Latency (Microsecond)

1 进程4 进程16 进程64 进程
1 客户端1053.2401051.4501228.2302745.800
2 客户端1229.2701109.4901359.3502893.780
4 客户端1248.9901164.0501642.6604115.970
8 客户端1316.5601357.9402378.9508040.250

随机读

工具设置

#!/bin/bash
fio -directory={} \
    -ioengine=psync \
    -rw=randread \ # random read
    -bs=4k \       # block size
    -direct=1 \    # enable direct IO
    -group_reporting=1 \
    -fallocate=none \
    -time_based=1 \
    -runtime=120 \
    -name=test_file_c{} \
    -numjobs={} \
    -nrfiles=1 \
    -size=10G

带宽(MB/s)

Random Read Bandwidth (MB/s)

1 进程4 进程16 进程64 进程
1 客户端15.50076.300307.000496.000
2 客户端32.600161.000587.000926.000
4 客户端74.400340.0001088.0001775.000
8 客户端157.000628.0001723.0002975.000

IOPS

Random Read IOPS

1 进程4 进程16 进程64 进程
1 客户端39791950078700127000
2 客户端834541300150000237000
4 客户端1900086000278000454000
8 客户端40200161000441000762000

延迟(微秒)

Random Read Latency (Microsecond)

1 进程4 进程16 进程64 进程
1 客户端250.720203.960202.480502.940
2 客户端250.990204.100219.750558.010
4 客户端211.240180.720226.840551.470
8 客户端192.660196.560288.090691.920

随机写

工具设置

#!/bin/bash
fio -directory={} \
    -ioengine=psync \
    -rw=randwrite \ # random write
    -bs=4k \        # block size
    -direct=1 \     # enable direct IO
    -group_reporting=1 \
    -fallocate=none \
    -time_based=1 \
    -runtime=120 \
    -name=test_file_c{} \
    -numjobs={} \
    -nrfiles=1 \
    -size=10G

带宽(MB/s)

Random Write Bandwidth (MB/s)

1 进程4 进程16 进程64 进程
1 客户端7.74343.500164.000429.000
2 客户端19.70084.300307.000679.000
4 客户端41.900167.000480.000877.000
8 客户端82.600305.000700.000830.000

IOPS

Random Write IOPS

1 进程4 进程16 进程64 进程
1 客户端19821110042100110000
2 客户端50502160078600174000
4 客户端1070042800123000225000
8 客户端110078100179000212000

延迟(微秒)

Random Write Latency

1 进程4 进程16 进程64 进程
1 客户端503.760358.190379.110580.970
2 客户端400.150374.010412.900751.020
4 客户端371.620370.520516.9301139.920
8 客户端380.650403.510718.9002409.250
在github上编辑