Dec 12th, 2016

Linode vs DigitalOcean vs ConoHa

気がつけば7ヶ月ぶりのブログとなってしまった。もう少し頻度をあげようと思っていたのだけど、この体たらくである。ブログのネタを見つける度に少しずつ書いたものがあったりはするのだけど、いつの間にか旬を外していたり、書く気がなくなったりで、ズルズルときてしまった。

というよう相変わらずな状況はさておき、久しぶりなVPSの比較を書いてしまうことにする。

以前行ったのはLinodeとさくらVPSの比較で、2010年12月なので6年ぶりとなる。今回はメインで使っているLinodeDigitalOceanConoHaの三つで比較を行ってみた。

ブログを書くにあたり、$10 Showdown: Linode vs. DigitalOcean vs. Amazon Lightsailを参考に項目追加などを行っているが、オリジナルも是非見て欲しい。比較対象の一つがAmazon LightsailからConoHaになってしまっているが。

比較を行うにあたりリージョンに関しては、LinodeはできたばかりのTokyo2、DigitalOceanは比較的新しいSFO2、ConoHaはJapanをそれぞれ選択し、プランごとの差を吸収するため千円に近いプランをそれぞれ選択した。選択したプラン毎による比較はそれぞれ下記のようになる。

- Linode DigitalOcean ConoHa
メモリ 2GB 1GB 1GB
CPU 1 Core 1 Core 2 Core
ストレージ 24GB SSD 30GB SSD 50GB
転送量 2TB 2TB unlimited
追加転送代金 $0.02/GB $0.02/GB --
帯域 In 40GBbps 1Gbps 100Mbps
帯域 Out 125MBbps 1Gbps 100Mbps
料金 (月あたり) $10/月 $10/月 900円/月
料金 (時間あたり) $0.015/時 $0.015/時 1.3円/時

また比較を行う上でできる限り公平にみるために、全て新規に作成しdebian 8 jessie amd64上で行い、同じsysctlの調整を行っている。

カーネル・CPUの比較

- Linode DigitalOcean ConoHa
uname -r 4.8.6-x86_64-linode78 3.16.0-4-amd64 3.16.0-4-amd64
cpu model name E5-2697 v4 @ 2.30GHz E5-2650L v3 @ 1.80GHz E5-2660 v3 @ 2.60GHz
cpu cache size 4096 KB 30720 KB 4096 KB
cpuinfo gist gist gist

CPU

sysbench --test=cpu run
- Linode DigitalOcean ConoHa
Execution Time 12.7867s 15.0757s 10.7636s
Execution Number of Events 10000 10000 10000
Execution Time Taken by Events 12.7852 15.0714 10.7614
Minimum per Request 1.24ms 1.40ms 1.07ms
Average per Request 1.28ms 1.51ms 1.08ms
Maximum per Request 2.00ms 5.16ms 2.63ms

Memory (read)

sysbench --test=memory run
- Linode DigitalOcean ConoHa
Execution Time 45.0777s 96.9033s 46.1627s
Execution Number of Events 104857600 104857600 104857600
Execution Time Taken by Events 35.1409 75.6979 36.3354
Minimum per Request 0.00ms 0.00ms 0.00ms
Average per Request 0.00ms 0.00ms 0.00ms
Maximum per Request 0.78ms 8.51ms 1.97ms
Transfer per second 2271.63 MB 1056.72 MB 2218.24 MB

Memory (write)

sysbench --test=memory --memory-oper=write run
- Linode DigitalOcean ConoHa
Execution Time 44.6995s 102.0323s 46.5992s
Execution Number of Events 104857600 104857600 104857600
Execution Time Taken by Events 32.8248 78.9135 36.6818
Minimum per Request 0.00ms 0.00ms 0.00ms
Average per Request 0.00ms 0.00ms 0.00ms
Maximum per Request 0.76ms 7.12ms 1.93ms
Transfer per second 2290.85 MB 1003.60 MB 2197.46 MB

File I/O

sysbench --test=fileio prepare
sysbench --test=fileio --file-test-mode=rndrw run
sysbench --test=fileio cleanup
- Linode DigitalOcean ConoHa
Execution Time 1.5128s 4.8597s 4.2003s
Execution Number of Events 10000 10000 10000
Execution Time Taken by Events 0.2035 0.8871 1.5646
Minimum per Request 0.00ms 0.00ms 0.00ms
Average per Request 0.02ms 0.09ms 0.16ms
Maximum per Request 0.54ms 7.04ms 6.47ms
Requests per second 6610.36 MB 2057.74 MB 2380.78 MB

IOPS

ioping [Option] /
- Linode DigitalOcean ConoHa
disk seek rate (-R) 14.8k iops, 57.9 MiB/s 9.63k iops, 37.6 MiB/s 7.16k iops, 28.0 MiB/s
disk sequential speed (-RL) 3.02k iops, 755.1 MiB/s 3.23k iops, 806.9 MiB/s 2.46k iops, 614.4 MiB/s
disk asynchronous I/O (-RA) 14.0k iops, 54.8 MiB/s 10.6k iops, 41.3 MiB/s 6.24k iops, 24.4 MiB/s
disk cached I/O (-RC) 1.10M iops, 4.18 GiB/s 1.02M iops, 3.90 GiB/s 1.41M iops, 5.38 GiB/s
disk direct I/O (-RD) 16.5k iops, 64.4 MiB/s 11.3k iops, 44.1 MiB/s 7.41k iops, 28.9 MiB/s

Network

speedtest-cli --simple --server [NUMBER]

ネットワークスピードのベンチマークには、参考にしたブログと同じ speedtest-cli を利用した。 ベンチマークのターゲットには無指定の場合とつくば市のSoftEtherと石川県美濃市のJAISTの三つで比較した。

- Linode DigitalOcean ConoHa
無指定
Ping 7.277ms 10.454ms 4.054ms
Download Mbit/s 352.69 1409.92 126.14
Upload Mbit/s 57.70 42.71 324.46
つくば市のSoftEther
Ping 44.203ms 492.954ms 76.996ms
Download Mbit/s 393.21 44.91 121.43
Upload Mbit/s 199.99 31.52 709.90
石川県美濃市のJAIST
Ping 164.623ms 153.968ms 21.749ms
Download Mbit/s 391.09 266.47 127.16
Upload Mbit/s 213.18 31.51 519.94

ruby compile speed test

time rbenv install 2.3.3

ソースをダウンロードする時間の影響を排除するために、2回実行して2回目の時間を掲載する。

- Linode DigitalOcean ConoHa
real 6m13.333s 7m40.884s 4m9.846s
user 5m32.687s 6m40.272s 4m42.552s

まとめ

現時点で日本を拠点として3つを比較した場合のコストパフォーマンスを考慮した順位は、ConoHa、Linode、DigitalOceanの順番だろうか。ConoHaは1GBプランでCPUが二つあるのがお得感があり、実際にCPUベンチやrubyのコンパイルスピードでそれが顕著に出ている。メモリの読み書きでもLinodeとConoHaに差はそれほどなく、アメリカの大統領選以降円安に寄っている現状では数百円程度ではあるがConoHaの方が良いようだ。

Linodeはこれまで長い間いっぱいになっていたTokyoリージョンから場所を移して、新宿にオープンしたばかりのTokyo2のリージョンでは、ロケーション的な優位性が見られ、Downloadスピードは安定して350MB以上となっている。翻ってConoHaのUpload速度は謎である。

DigitalOceanはロケーションの優位性がないネットワークスピードに関しては仕方ないにしても、それ以外のベンチマークでもよいパフォーマンスが出ていないので、3社でベンチマークを比較した場合には、格段に落ちる格好となってしまった。だがDigitalOceanの強みは他の所にあるのでまだまだ使い続けるつもり。

ということで3社の比較を書いてみたのだけど、だれかの参考になれば幸いです。