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 客户端148.000626.0001129.0001130.000
2 客户端284.0001241.0002258.0002260.000
4 客户端619.0002640.0004517.0004515.000
8 客户端1193.0004994.0009006.0009034.000

IOPS

Sequential Read IOPS

1 进程4 进程16 进程64 进程
1 客户端1180.0005007.0009031.0009040.000
2 客户端2275.0009924.00018062.00018081.000
4 客户端4954.00021117.00036129.00036112.000
8 客户端9531.00039954.00072048.00072264.000

延迟(微秒)

Sequential Read Latency (Microsecond)

1 进程4 进程16 进程64 进程
1 客户端842.200794.3401767.3107074.550
2 客户端874.255801.6901767.3707071.715
4 客户端812.363760.7021767.7107077.065
8 客户端837.707799.8511772.6207076.967

顺序写

工具设置

#!/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 客户端52.200226.000956.0001126.000
2 客户端104.500473.0001763.0002252.000
4 客户端225.3001015.0002652.0003472.000
8 客户端480.6001753.0003235.0003608.000

IOPS

Sequential Write IOPS

1 进程4 进程16 进程64 进程
1 客户端417180576519004
2 客户端83537791410318014
4 客户端180181272121627777
8 客户端3841140162589028860

延迟(微秒)

Sequential Write Latency (Microsecond)

1 进程4 进程16 进程64 进程
1 客户端2385.4002190.2102052.3607081.320
2 客户端2383.6102081.8502233.7907079.450
4 客户端2216.3051947.6882946.0178842.903
8 客户端2073.9212256.1204787.49617002.425

随机读

工具设置

#!/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 客户端6.41239.100216.000534.000
2 客户端14.52588.100409.0001002.000
4 客户端33.242200.200705.0001693.000
8 客户端59.480328.300940.0002369.000

IOPS

Random Read IOPS

1 进程4 进程16 进程64 进程
1 客户端16411024056524.800140288
2 客户端371823142.4107212.8263168
4 客户端850852428.8184627.2443392
8 客户端1522285072.8246681.6621056

延迟(微秒)

Random Read Latency (Microsecond)

1 进程4 进程16 进程64 进程
1 客户端603.580395.420287.510466.320
2 客户端532.840351.815303.460497.100
4 客户端469.025317.140355.105588.847
8 客户端524.709382.862530.811841.985

随机写

工具设置

#!/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 客户端3.62017.500118.000318.000
2 客户端7.54044.800230.000476.000
4 客户端16.245107.700397.900636.000
8 客户端39.274208.100487.100787.100

IOPS

Random Write IOPS

1 进程4 进程16 进程64 进程
1 客户端926.0004476.00031027.20083251.200
2 客户端1929.00011473.00060313.600124620.800
4 客户端4156.00027800.000104243.200167014.400
8 客户端10050.00053250.000127692.800206745.600

延迟(微秒)

Random Write Latency

1 进程4 进程16 进程64 进程
1 客户端1073.150887.570523.820784.030
2 客户端1030.010691.530539.5251042.685
4 客户端955.972575.183618.4451552.205
8 客户端789.883598.3931016.1852506.424
在github上编辑