こんにちは。CTOの馬場です。
Google Cloud PlatformのIaaS的サービスGCE(Google Compute Engine)にSSD Persistent Diskができたので、さっそくベンチマークを取ってみました。
計測方法
@rx7さんの 噂の高速SSDを積んだAmazon EC2インスタンスのI/Oベンチマークをとってみた - 元RX-7乗りの適当な日々 を参考にしました。
- ZONE: asia-east1-a
- MACHINE TYPE: n1-standard-16 (16 vCPU, 60 GB memory)
- IMAGE: centos-6-v20140619
- SIZE: 100GB / 1000GB
- ファイルシステム: XFS
yum -y install http://pkgs.repoforge.org/fio/fio-2.1.7-1.el6.rf.x86_64.rpm
yum -y install xfsprogs
mkfs.xfs -f -b size=4096 -i size=512 -l size=64m /dev/sdb1
mount -t xfs -o noatime,logbufs=8 /dev/sdb1 /mnt/data
date; sync; sleep 10; fio -filename=/mnt/data/test2g -direct=1 -rw=read -bs=4k -size=2G -numjobs=16 -runtime=10 -group_reporting -name=test1
date; sync; sleep 10; fio -filename=/mnt/data/test2g -direct=1 -rw=write -bs=4k -size=2G -numjobs=16 -runtime=10 -group_reporting -name=test2
date; sync; sleep 10; fio -filename=/mnt/data/test2g -direct=1 -rw=randread -bs=4k -size=2G -numjobs=16 -runtime=10 -group_reporting -name=test3
date; sync; sleep 10; fio -filename=/mnt/data/test2g -direct=1 -rw=randwrite -bs=4k -size=2G -numjobs=16 -runtime=10 -group_reporting -name=test4
date; sync; sleep 10; fio -filename=/mnt/data/test2g -direct=1 -rw=read -bs=32m -size=2G -numjobs=16 -runtime=10 -group_reporting -name=test5
date; sync; sleep 10; fio -filename=/mnt/data/test2g -direct=1 -rw=write -bs=32m -size=2G -numjobs=16 -runtime=10 -group_reporting -name=test6
なお、デフォルトだと100GBと1000GBのSSD DISKは同時に作れません。 これはSSDTOTALGBのQuotaが1024GBでかかっているためです。 Quota確認と解除申請はコントロールパネルのメニューにあるので、 必要に応じて解除申請してください。
(インスタンス作るのもディスク作るのも数十秒もかからず終わるので、 やりくりしながらでも耐えられるレベルではあります。)
結果
100GBの場合
- | bandwidth(KB/s) | IOPS |
---|---|---|
4k, sequential read | 13711 | 3427 |
4k, sequential write | 3653 | 913 |
4k, random read | 13394 | 3348 |
4k, random write | 13392 | 3347 |
32m, sequential read | 53866 | 1 |
32m, sequential write | 53902 | 1 |
1000GBの場合
- | bandwidth(KB/s) | IOPS |
---|---|---|
4k, sequential read | 64097 | 16024 |
4k, sequential write | 7731 | 1932 |
4k, random read | 60590 | 15147 |
4k, random write | 29449 | 7362 |
32m, sequential read | 247106 | 7 |
32m, sequential write | 247002 | 7 |
まとめ
AWSと比較すると、High I/O Instancesよりは遅い・GeneralPurposeEBSよりは速い、という感じでなかなかバランスがよさそうです。
ランダムwriteのほうがシーケンシャルwriteよりも速いのは、GCEのバックエンドが単に既存コンポーネントを仮想化したというわけでは ない からなのでしょうか。中の人にいろいろ聞いてみたいものです。
結果がおかしそう、測定方法がよくない!などありましたらぜひみなさんも測定してみてください!
ではでは。
Quota上がった!(2014/7/8 23:12追記)
7/5(土) 21:44に申請したQuota変更申請が7/8(火) 22:44に通りましたのでご参考まで。