更新时间:2020-05-07 14:23:43
网宿云提供四种类型的云硬盘,性能型、SSD型、共享性能型和共享SSD型。云硬盘的性能一般使用下面三个指标来衡量。
FIO是常用的测试磁盘性能的工具,建议使用libaio的I/O引擎进行测试,用户在测试云硬盘时可自行安装FIO和libaio。不同场景下FIO的测试命令基本一致,只需改变3个参数(iodepth,blocksize,rw)。
注:
使用以下常见测试用例进行测试时,请尽量不要在已创建文件系统的磁盘上测试,因为FIO性能测试会破坏文件系统结构,如果需要,请在测试前做好相应的数据备份;
建议只在新购无数据的云服务器中使用工具测试云硬盘相应性能,避免数据丢失。
测试时延: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 | 测试时间。 |