性能指标
IOPS:每秒 IO 读/写次数,单位为:次/秒。
带宽:每秒 IO 读/写的数据量,单位为:MiB/秒。
时延:完成单次 IO 读/写耗时,单位为秒。
云盘性能
指标 | SSD云盘 | 高效云盘 |
最大IOPS | 25000 | 4500 |
最高带宽 | 260 MiB/s | 130 MiB/s |
单盘性能公式 | IOPS=min{1400 + 30 * 容量(GB),25000} | IOPS=min{500 + 8 * 容量(GB),4500} |
带宽=min{120 + 0.28 * 容量(GB), 260} MiB/s | 带宽=min{90 + 0.16 * 容量(GB), 130} 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的性能发挥。
高峰时段用户的并发访问可能导致性能下降,可以错开时段,多测试几次。