免费注册
文档中心
2.8. 云硬盘的性能测试方法
  • 云硬盘的性能一般使用下面三个指标来衡量:

    ● IOPS:每秒进行读/写操作的次数,单位为个(次)。

    ● 吞吐:每秒读写数据量,单位为MBps。

    ● 时延:一个IO操作的发送到接收确认所花费的时间,单位为ms。

    FIO是常用的测试磁盘性能的工具,建议使用libaio的I/O引擎进行测试,用户在测试云硬盘时可自行安装FIO和libaio。

    不同场景下FIO的测试命令基本一致,只需改变3个参数(iodepth,blocksize,rw)。

    常见测试用例如下:

     测试时延:iodepth=1,bs=4k,rw=randread

    fio --filename=/dev/vdb -iodepth=1 -rw=randread -ioengine=libaio -bs=4k -size=100G  -numjobs=1 -group_reporting -direct=1 -name=test --runtime=300

     测试IOPS:iodepth=128,bs=4k,rw=randwrite/randread/randrw

    fio --filename=/dev/vdb -iodepth=128 -rw=randread -ioengine=libaio -bs=4k -size=100G  -numjobs=1 -group_reporting -direct=1 -name=test --runtime=300

     测试吞吐:iodepth=64,bs=1M,rw=randwrite/randread/randrw

    fio --filename=/dev/vdb -iodepth=64 -rw=randread -ioengine=libaio -bs=1M -size=100G  -numjobs=1 -group_reporting -direct=1 -name=test --runtime=300

    参数说明:

    参数

    说明

    filename

    /dev/vdb

    指定测试的磁盘为/dev/vdb

    iodepth

    1

    请求的IO队列深度

    rw

    randread

    读写模式

    ioengine

    libaio

    IO引擎配置,建议使用libaio异步IO引擎

    bs

    4k

    每次IO请求的块大小

    size

    100G

    IO测试的寻址空间,一般设置为云硬盘的大小

    numjobs

    1

    测试线程数,一般设置为1

    group_reporting

    测试结果显示模式,打印各个job汇总的统计值

    direct

    1

    测试时忽略IO缓存,数据直写磁盘

    name

    test

    测试名称

    runtime

    300

    测试时间