云主机的硬盘IO性能比较(持续更新)

测试方式

因为工作等需要,手里有一堆云主机,前几天忽然想到来测试对比一下各家的IO性能如何。

测试方法不严谨,仅供参考。

测试工具为fio,测试命令如下(以libaio方式为例):

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read_write.fio --bs=4k --iodepth=64 --size=1G --readwrite=randrw --rwmixread=75

后来也顺便测了一下UnixBench:

sudo apt install libx11-dev libxext-dev perl perl-modules make git
git clone https://github.com/kdlucas/byte-unixbench.git
cd byte-unixbench/UnixBench/
# 把Makefile里GL部分设置注释掉,否则需要安装巨大的libgl1-mesa-dev,服务器不测这项了
# #GL_LIBS = -lGL -lXext -lX11
./Run

顺便说一下,在CubieBoard2的魔改Debian7.5里编译会报错,需要把Makefile里的shell改成bash。

参比服务商

  • 国内某云甲:四核8G高IO版(应该是SSD),Debian 8
  • 国内某云乙:四核16G普通硬盘版,Ubuntu 18.04
  • AWS lightsail: 单核1G SSD版,Ubuntu 18.04
  • Linode: 双核4G SSD版,Debian 7
  • Vultr: 单核1G SSD版,FreeBSD 10
  • DigitalOcean: 单核1G SSD版,FreeBSD 10,Debian 9
  • Bandwagonhost: 单核512M SSD,Ubuntu 18.04
  • Hostmybytes: 单核512M 普通硬盘版,Debian 9(服务商AlphaRacks跑路了)
  • Virmach SSD256: 单核256M SSD,Debian 9
  • OracleCloud: 单核1G,Ubuntu 20.04
  • CloudCone:双核1G,Debian 10
  • RackNerd:单核512M,SSD,Debian10
  • OneProvider:独立主机,Atom C2350/2338 1.74G双核,4G,128G SanDisk X400 SATA SSD,Debian11
  • 物理机一(J1900):双核+8G+64G-东芝mSATA-SSD+2.5寸希捷机械硬盘,FreeBSD 10
  • 物理机二(CubieBoard2):双核ARM+1G+4G-NAND +iSCSI-百兆网连物理机一 ,Cubeez(魔改版Debian 7.5)
  • 物理机三(Phicomm N1):四核ARM+2G+8G-NAND,Ubuntu 18.04
  • 物理机四(Sony Vaio笔记本):i5-4200U+12G+960G 铭瑄SSD,LinuxMint 19.3 Tricia
  • 物理机五(Lenovo M715q tiny):AMD R12-9800E+4G+250G HP EX900 NVMe SSD, Debian 10.3,ZFS
  • 物理机六(Asus PN51):AMD Ryzen3-5300U+16G+500G WD SN750SE NVMe SSD, Debian 11,ZFS
  • 物理机七(占美N3520):Intel Atom-N3520+4G+32G 三星NGFF转mSATA SSD,LinuxMint 20
  • 物理机八(驰为Z3735F):Intel Atom-Z3735F+2G+32G NAND,LinuxMint 20
  • 参考一(C10 TF卡加USB3.0读卡器用物理机四测试)

结果

服务商 Read kB/s Read IOPS Write kB/s Write IOPS
Asus PN51 libaio 283000 72300 94400 24200
Lenovo M715q libaio 256000 65400 85400 21900
DO Debian libaio 218889 54722 73193 18298
Sony Vaio libaio 130564 32641 43628 10907
CC libaio 113000 28900 37700 9646
Linode libaio 94090 23522 31593 7898
OneProvider libaio 90900 23300 30400 7772
RN libaio 91300 22300 29100 7443
Bwh libaio 73500 18800 24600 6285
Asus PN51 sync 47300 12100 15800 4043
N3520 SSD libaio 38200 9780 12800 3267
国内云甲 libaio 36420 9104 12229 3057
VM libaio 22677 5669 7523 1880
DO Debian sync 15520 3879 5190 1297
RN sync 15700 3828 5239 1279
国内云甲 sync 14875 3718 4995 1248
DO BSD sync 10240 2808 3753 938
CB2 iSCSI libaio 9694 2423 3242 810
VM sync 9398 2349 3118 779
AWS libaio 9281 2320 3101 775
N3520 HDD libaio 9247 2311 3089 772
Oracle libaio 9158 2289 3059 764
国内云乙 libaio 9084 2271 3038 759
Bwh sync 8672 2167 2897 724
Linode sync 8585 2146 2882 720
AWS sync 8014 2003 2677 669
CC sync 6727 1642 2195 548
Vultr sync 5463 1365 1825 456
Oracle sync 5404 1351 1805 451
国内云乙 sync 4319 1079 1445 361
Z3735F NAND libaio 4038 1009 1349 337
N1 NAND libaio 3924 957 1309 319
N1 NAND sync 3800 927 1268 309
Z3735F TF卡 libaio 2943 735 983 245
TF卡 libaio 1169 285 387 94

UnixBench结果:

服务器 PassMark bogomips/C Bench/C Bench/all Cores
Ryzen3-5300U(PN51) 9963 5190.5 1169.9 4663.6 8
Pentium N3520(ZM) 1140 4333.3 409.7 1232.0 2
Celeron J1900 1138 2
Atom C2338(OneP) 584 3500.1 343.5 607.7 2
Atom Z3735F(Chuwi) 539 2666.7 230.4 615.8 4
Atom D525 390 2
Allwinner A20(CB2) 1437.0 153.3 267.8 2

说明

以上测试仅代表测试当时的性能,服务商的服务质量可能会有变化(比如HMB就曾经有一段时间变好,当然现在已经没有HMB了)。因为FreeBSD不支持libaio,所以只有sync的结果,故没有特别说明。DigitalOcean有BSD和Linux两个版本。

  • 对于同一台机器,libaio的性能好于sync,大概能快1.5倍——但是DigitalOcean和Linode的libaio能比sync高10倍以上,不知道是为什么。
  • 对于同样配置的DigitalOcean主机,Linux的性能优于FreeBSD,即使同样使用sync,也能快30%-40%,可能是因为ZFS的性能差一些,但用ZFS的重点并不在性能。
  • 同样的FreeBSD+sync条件下,DigitalOcean的性能比Vultr高一倍。
  • 同样的Linux+libaio条件下,DigitalOcean的性能比Linode高1.2倍。
  • 亚马逊Lightsail居然性能这么差,同样是SSD,还不如国内某云甲。
  • 国内某云乙的IO性能果然如传说的差,跟某云甲相比,虽然有SSD与普通硬盘的差别,但是差距达到约4倍也是差得有点多。
  • 总体上国内云的性能比国外大厂差挺多,即使同样是SSD,国内某云甲也只有Linode性能的一半不到。
  • J1900果然如传说所说,IO性能一般,仅相当于Vultr虚拟机的性能。
  • 相比之下N1的NAND接近J1900了,只是libaio优势不大。
  • 最后吐槽一下Hostmybytes,IOPS只有两位数,你们的主机是不是超售10倍以上?我这还买的是KVM,要是OpenVZ可能超售得更多吧。

— 以上为2018年的测试 —

  • 更新:最近HMB的速度有改善,重测了一下,大概快了三倍左右,但仍然在各服务商中垫底。
  • 更新:因为Bandwagonhost砍了OpenVZ传家宝,被迫换成了KVM,正好可以测试一下,结果出人意料,居然仅次于Linode,当然价格也涨了很多,没什么性价比了。
  • 更新:最近HMB被AlphaRacks收购,之后AlphaRacks跑路,已经不可用,故删除。
  • 更新:买了一个Virmach SSD256替换hmb,IO性能还不错,不过网络速度一般,但是毕竟便宜。
  • Oracle cloud开放免费时注册了一个日本区账户,结果免费服务被抢光了,开了个15G内存的收费版试用了一下,IO性能不行啊。
  • 国内云乙最近IO性能有所优化,但是跟云甲的差距仍然很大。
  • 拿自己的笔记本试了一下,用的便宜的SSD,性能还是相当不错的。
  • 又试了一下TF卡,即使是C10速度的卡配合USB3.0的读卡器,但仍然不太行。

— 以上为2019年的测试 —

  • 又试了一个新的VPS——CloudCone,价钱便宜量又足,IO性能居然还不错,之前听说是用机械硬盘的,开始测试sync的时候的确挺慢的,但是libaio还是很快的,看来已经换SSD了。

— 以上为2020年的测试 —

  • 因为我那个Virmach的IP被强了,换个IP要5刀,还不如买个新的,于是又找了个便宜的——RackNerd。这货据说是之前跑路的那个HMB/AR的老板开的,但价钱便宜量又足啊,IO性能还不错,仅次于Linode。不怕跑路的可以用用看。

— 以上为2021年的测试 —

  • 后来开了免费的Oracle小鸡,重新实测了一下,结果跟高配收费机几乎一样。
  • 另外测了两台新的物理机,NVMe的性能真是好啊。
  • 又搞了一台OneProvider的物理机,SATA的SSD性能果然还是差些。
  • 朋友送了一台占美小主机,N3520,也测了一下。
  • 把上次重刷的驰为平板也拿来测一下。
  • 因为有物理机,顺便开始测UnixBench。

— 以上为2022年的测试 —

推送到[go4pro.org]