EBS 性能

滴滴云技术支持发表于:2019年03月15日 17:39:13更新于:2019年04月11日 22:49:53

性能指标

IOPS:每秒 IO 读/写次数,单位为:次/秒。

带宽:每秒 IO 读/写的数据量,单位为:MiB/秒。

时延:完成单次 IO 读/写耗时,单位为秒。

云盘性能对比

指标SSD云盘
最大IOPS25000
最高带宽260 MiB/s
单盘性能公式IOPS=min{1400 + 30 * 容量(GB),25000}
带宽=min{120 + 0.28 * 容量(GB), 260} MiB/s

性能测试

注意:测试裸盘能得到真实的块存储性能,但是会破坏里面的文件系统(如果您已经做过格式化),并导致数据丢失。建议在测试裸盘之前先备份里面的数据,或者用全新的EBS测试裸盘性能,另外不要对系统盘做裸盘测试。

下面是用文件系统的方式测试EBS性能的方法:

测试顺序写带宽:

dc2-user@ip:~$ sudo fio -direct=1 -iodepth=128 -rw=write -ioengine=libaio -bs=1M -size=2G -numjobs=1 -ramp_time=5 -runtime=300 -filename=/data/iotest -name=testing

测试顺序读带宽:

dc2-user@ip:~$ sudo fio -direct=1 -iodepth=128 -rw=read -ioengine=libaio -bs=1M -size=2G -numjobs=1 -ramp_time=5 -runtime=300 -filename=/data/iotest -name=testing

测试随机写IOPS:

dc2-user@ip:~$ sudo fio -direct=1 -iodepth=64 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -ramp_time=5 -runtime=300 -filename=/data/iotest -name=testing

测试随机读IOPS:

dc2-user@ip:~$ sudo fio -direct=1 -iodepth=64 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -ramp_time=5 -runtime=300 -filename=/data/iotest -name=testing

测试写时延:

dc2-user@ip:~$ sudo fio -direct=1 -iodepth=1 -rw=randwrite -ioengine=libaio -bs=4k -time_based -numjobs=1 -ramp_time=5 -runtime=300 -filename=/data/iotest -name=testing

测试读时延:

dc2-user@ip:~$ sudo fio -direct=1 -iodepth=1 -rw=randread -ioengine=libaio -bs=4k -time_based -numjobs=1 -ramp_time=5 -runtime=300 -filename=/data/iotest -name=testing


FAQ:为什么有时候性能测试结果不如预期?

EBS性能不如预期的原因可能是:

  • EBS的容量越大,性能的发挥对DC2实例的配置要求越高,如果DC2的CPU内存配置过低,就会影响EBS的性能发挥。

  • 高峰时段用户的并发访问可能导致性能下降,可以错开时段,多测试几次。