阿里云服务器 :华北3(张家口) 2 vCPU 4 GiB 操作系统:centos 7.4 ip地址:39.100.87.96 磁盘 :普通云盘(非ssd)
融亿云服务器:电信服务器my-2 (绵阳) 2 vCPU 4 GiB 操作系统:centos 7.4 ip地址:211.149.248.95 磁盘 :普通云盘(非SSD超高的速云盘)
直接服务器执行 :
性能测试
不同工具测试出来的硬盘基准性能会有差异,如dd、sysbench、iometer等工具可能会受到测试参数配置和文件系统影响,难以反映真实性能。本文的性能参数,均为Linux系统下采用FIO工具的测试结果,以此作为块存储产品性能指标参考。Linux实例和Windows实例都推荐使用FIO工具测试块存储性能。
本示例在Linux实例中使用FIO测试块存储性能。测试前,请您保证块存储设备已经4KiB对齐。
警告测试裸盘可以获取真实的块存储盘性能,但直接测试裸盘会破坏文件系统结构,请在测试前提前做好数据备份。建议您只在新购无数据的ECS实例上使用工具测试块存储性能,避免造成数据丢失。
- 测试随机写IOPS:
fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Rand_Write_Testing
- 测试随机读IOPS:
fio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Rand_Read_Testing
- 测试顺序写吞吐量:
fio -direct=1 -iodepth=64 -rw=write -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Write_PPS_Testing
- 测试顺序读吞吐量:
fio -direct=1 -iodepth=64 -rw=read -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Read_PPS_Testing
- 测试随机写时延:
fio -direct=1 -iodepth=1 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -group_reporting -filename=iotest -name=Rand_Write_Latency_Testing
- 测试随机读时延:
fio -direct=1 -iodepth=1 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -group_reporting -filename=iotest -name=Rand_Read_Latency_Testingrandwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -group_reporting -filename=iotest -name=Rand_Write_Latency_Testing
下表以测试结果对比 :
项目: | 融亿云(my-2) | 阿里云 | 融亿云 | 阿里云 |
测试随机写IOPS: | 约/s | 约/s | WRITE: /s (/s), /s (/s), io=518MiB (543MB), run=19502-19502msec | WRITE: /s (/s), /s (/s), io=1024MiB (1074MB), run=124790-124790msec |
测试随机读IOPS: | 约/s | 约/s | READ: /s (/s), /s (/s), io=1024MiB (1074MB), run=12237-12237msec | Jobs: 1 (f=1): [r(1)][67.5%][/s,/s][r=2136,w=0 IOPS][eta 00m:40s] |
测试顺序写吞吐量: | 约/s | 约/s | WRITE: /s (/s), /s (/s), io=1024MiB (1074MB), run=18954-18954msec | WRITE: /s (/s), /s (/s), io=1024MiB (1074MB), run=25600-25600msec |
测试顺序读吞吐量: | 约1G/s | 约/s | READ: /s (/s), /s (/s), io=1024MiB (1074MB), run=1061-1061msec | READ: /s (/s), /s (/s), io=1024MiB (1074MB), run=25512-25512msec |
测试随机写时延: | 约/s | 约/s | WRITE: /s (/s), /s (/s), io=118MiB (124MB), run=70099-70099msec | WRITE: /s (/s), /s (/s), io=611MiB (641MB), run=74384-74384msec |
测试随机读时延: | 约/s | 约/s | READ: /s (/s), /s (/s), io=348MiB (365MB), run=28510-28512msec | READ: /s (/s), /s (/s), io=439MiB (460MB), run=52565-52565msec |
补充:融亿云升级磁盘为SSD超高的速云盘,同时升级阿里云为ssd云盘进行测试:
项目: | 融亿云(my-10) | 阿里云 | 融亿云 | 阿里云 |
测试随机写IOPS: | 约/s | 约/s | WRITE: /s (/s), /s (/s), io=886MiB (929MB), run=22506-22506msec | WRITE: /s (/s), /s (/s), io=418MiB (439MB), run=35402-35402msec |
测试随机读IOPS: | 约/s | 约/s | READ: /s (/s), /s (/s), io=1024MiB (1074MB), run=15783-15783msec | READ: /s (/s), /s (/s), io=278MiB (292MB), run=23494-23494msec |
测试顺序写吞吐量: | 约/s | 约/s | WRITE: /s (/s), /s (/s), io=1024MiB (1074MB), run=3301-3301msec | WRITE: /s (/s), /s (/s), io=1024MiB (1074MB), run=7415-7415msec |
测试顺序读吞吐量: | 约/s | 约/s | READ: /s (/s), /s (/s), io=1024MiB (1074MB), run=776-776msec | READ: /s (/s), /s (/s), io=1024MiB (1074MB), run=7233-7233msec |
测试随机写时延: | 约/s | 约/s | WRITE: /s (/s), /s (/s), io=118MiB (124MB), run=25798-25798msec | WRITE: /s (/s), /s (/s), io=238MiB (250MB), run=41549-41549msec |
测试随机读时延: | 约/s | 约/s | READ: /s (/s), /s (/s), io=455MiB (477MB), run=25401-25401msec | READ: /s (/s), /s (/s), io=258MiB (271MB), run=26057-26057msec |
注:测试顺序写吞吐量和缓存机制有关,数据超过2g的话,可能结果不准确!