云主机的硬盘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]