雲主機的硬碟IO效能比較

猛禽大叔發表於2018-10-09

測試方式

因為工作等需要,手裡有一堆雲主機,前幾天忽然想到來測試對比一下各家的IO效能如何。

測試方法不嚴謹,僅供參考。

測試工具為fio,測試命令如下(以sync方式為例):

fio --randrepeat=1 --ioengine=sync --direct=1 --gtod_reduce=1 --name=test --filename=random_read_write.fio --bs=4k --iodepth=64 --size=1G --readwrite=randrw --rwmixread=75
複製程式碼

參比服務商

  • 國內某雲甲:四核8G高IO版(應該是SSD),Debian 8
  • 國內某雲乙:四核16G普通硬碟版,Ubuntu 18.04
  • Linode: 雙核4G SSD版,Debian 7
  • Vultr: 單核1G SSD版,FreeBSD 10
  • DigitalOcean: 單核1G SSD版,FreeBSD 10,Debian 9
  • Hostmybytes: 單核512M 普通硬碟版,Debian 9
  • 物理機一(J1900):雙核+8G+64G-東芝mSATA-SSD+2.5寸希捷機械硬碟,FreeBSD 10
  • 物理機二(CubieBoard2):雙核ARM+1G+4G-NAND+iSCSI-百兆網連物理機一,Debian 8

結果

服務商 Read kB/s Read IOPS Write kB/s Write IOPS
DO Debian libaio 218889 54722 73193 18298
Linode libaio 94090 23522 31593 7898
國內雲甲 libaio 36420 9104 12229 3057
DO Debian sync 15520 3879 5190 1297
國內雲甲 sync 14875 3718 4995 1248
DO BSD 10240 2808 3753 938
CB2 iSCSI libaio 9694 2423 3242 810
Linode sync 8585 2146 2882 720
國內雲乙 libaio 9084 2271 3038 759
J1900 HDD 6643 1660 2219 554
Vultr 5463 1365 1825 456
國內雲乙 sync 4319 1079 1445 361
CB2 iSCSI sync 3164 791 1058 264
J1900 SSD 2387 596 797 199
HMB libaio 748 186 251 62
HMB sync 184 46 62 15

說明

因為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倍。
  • 國內某雲乙的IO效能果然如傳說的差,跟某雲甲相比,雖然有SSD與普通硬碟的差別,但是差距達到約4倍也是差得有點多。
  • 總體上國內雲的效能比國外大廠差挺多,即使同樣是SSD,國內某雲甲也只有Linode效能的一半不到。
  • J1900果然如傳說所說,IO效能一般,僅相當於Vultr虛擬機器的效能。
  • 東芝這塊mSATA SSD簡直垃圾,比機械硬碟還慢很多。
  • CubieBoard2的NAND的IOPS只有個位數,就不在表中列出了。
  • 通過百兆網的iSCSI在同樣用sync的情況下(雖然系統不同),比直接連硬碟慢了一半。
  • 最後吐槽一下Hostmybytes,IOPS只有兩位數,你們的主機是不是超售10倍以上?我這還買的是KVM,要是OpenVZ可能超售得更多吧。
  • 可惜OpenVZ上不能用fio做測試,不然我還想測試一下著名的Bandwagonhost。

廣告

以下是上面提到的VPS購買渠道:

相關文章