初めて精神安定剤みたいのを買いました。
今後外出するときは使用してみたいと思います。

 

背景

会社のHPなどサービスを提供する際に停止してもそこまでクリティカルでないものを
如何に安く運用するかと考えたときにVPSかEC2かで悩んだので色んな観点からまとめようと思った次第です。

 

EC2以外の選択肢

EC2は思ったほど性能が良くない(と耳にしたことがある)ので
クリティカルじゃないものなら敢えてEC2じゃなくて他社のVPSで良いのではと思う

国内のVPSだと

  • さくらインターネット
  • GMO
  • カゴヤ
  • ConoHa

国外だと

  • Vultr.com
  • cloudatcost
  • AlphaRacks

とか色々あります。

この中でもVultr.comは安くて安定性も良かったので
今回は Vultr.com $5/m のVPSEC t2.microを比べてみます。
スペックはどちらも 1Core / 1G です。

https://luispc.com/tiraura/2017/04/13/8978

 

スペック

EC2 t2.micro Vultr  $5
CPU Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz Virtual CPU
MEM 1G 1G
SSD 8GB (gp2 – EBS) 25GB
OS CentOS 7.3.1611 CentOS 7.3.1611
参考 ap-northeast-1a 東京リージョン

どちらも CPU/MEM は 1Core/1G です

 

UnixBench

t2.micro – 1回目

Dhrystone 2 using register variables       32422296.8 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     4080.8 MWIPS (9.9 s, 7 samples)
Execl Throughput                               4334.8 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks       1108334.5 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          292360.9 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       3276961.9 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1596267.7 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 343547.0 lps   (10.0 s, 7 samples)
Process Creation                              15088.3 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   5922.1 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    799.7 lpm   (60.1 s, 2 samples)
System Call Overhead                        2677176.3 lps   (10.0 s, 7 samples)
System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   32422296.8   2778.3
Double-Precision Whetstone                       55.0       4080.8    742.0
Execl Throughput                                 43.0       4334.8   1008.1
File Copy 1024 bufsize 2000 maxblocks          3960.0    1108334.5   2798.8
File Copy 256 bufsize 500 maxblocks            1655.0     292360.9   1766.5
File Copy 4096 bufsize 8000 maxblocks          5800.0    3276961.9   5649.9
Pipe Throughput                               12440.0    1596267.7   1283.2
Pipe-based Context Switching                   4000.0     343547.0    858.9
Process Creation                                126.0      15088.3   1197.5
Shell Scripts (1 concurrent)                     42.4       5922.1   1396.7
Shell Scripts (8 concurrent)                      6.0        799.7   1332.9
System Call Overhead                          15000.0    2677176.3   1784.8
========
System Benchmarks Index Score                                        1586.7

 

t2.micro – 2回目

Dhrystone 2 using register variables       32425134.7 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     4071.8 MWIPS (9.9 s, 7 samples)
Execl Throughput                               4274.1 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks       1106699.5 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          239764.3 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       2369007.2 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1079085.0 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 210978.9 lps   (10.0 s, 7 samples)
Process Creation                               9178.9 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1249.4 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                     89.2 lpm   (60.5 s, 2 samples)
System Call Overhead                         583600.4 lps   (10.0 s, 7 samples)
System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   32425134.7   2778.5
Double-Precision Whetstone                       55.0       4071.8    740.3
Execl Throughput                                 43.0       4274.1    994.0
File Copy 1024 bufsize 2000 maxblocks          3960.0    1106699.5   2794.7
File Copy 256 bufsize 500 maxblocks            1655.0     239764.3   1448.7
File Copy 4096 bufsize 8000 maxblocks          5800.0    2369007.2   4084.5
Pipe Throughput                               12440.0    1079085.0    867.4
Pipe-based Context Switching                   4000.0     210978.9    527.4
Process Creation                                126.0       9178.9    728.5
Shell Scripts (1 concurrent)                     42.4       1249.4    294.7
Shell Scripts (8 concurrent)                      6.0         89.2    148.7
System Call Overhead                          15000.0     583600.4    389.1
========
System Benchmarks Index Score                                         871.6

 

Vultr $5 – 1回目

Dhrystone 2 using register variables       25355718.3 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     4133.9 MWIPS (8.3 s, 7 samples)
Execl Throughput                               3518.7 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        880023.3 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          234688.1 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1694912.1 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1446713.4 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 283095.7 lps   (10.0 s, 7 samples)
Process Creation                              11328.8 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   4704.9 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    645.3 lpm   (60.1 s, 2 samples)
System Call Overhead                        3322644.4 lps   (10.0 s, 7 samples)
System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   25355718.3   2172.7
Double-Precision Whetstone                       55.0       4133.9    751.6
Execl Throughput                                 43.0       3518.7    818.3
File Copy 1024 bufsize 2000 maxblocks          3960.0     880023.3   2222.3
File Copy 256 bufsize 500 maxblocks            1655.0     234688.1   1418.1
File Copy 4096 bufsize 8000 maxblocks          5800.0    1694912.1   2922.3
Pipe Throughput                               12440.0    1446713.4   1163.0
Pipe-based Context Switching                   4000.0     283095.7    707.7
Process Creation                                126.0      11328.8    899.1
Shell Scripts (1 concurrent)                     42.4       4704.9   1109.6
Shell Scripts (8 concurrent)                      6.0        645.3   1075.5
System Call Overhead                          15000.0    3322644.4   2215.1
========
System Benchmarks Index Score                                        1303.6

 

Vultr $5 – 2回目

Dhrystone 2 using register variables       26428116.1 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     4371.1 MWIPS (7.9 s, 7 samples)
Execl Throughput                               3696.3 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        886492.8 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          257728.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1671145.9 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1551706.6 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 292249.5 lps   (10.0 s, 7 samples)
Process Creation                              10366.9 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   4758.3 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    636.8 lpm   (60.1 s, 2 samples)
System Call Overhead                        3422980.3 lps   (10.0 s, 7 samples)
System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   26428116.1   2264.6
Double-Precision Whetstone                       55.0       4371.1    794.7
Execl Throughput                                 43.0       3696.3    859.6
File Copy 1024 bufsize 2000 maxblocks          3960.0     886492.8   2238.6
File Copy 256 bufsize 500 maxblocks            1655.0     257728.5   1557.3
File Copy 4096 bufsize 8000 maxblocks          5800.0    1671145.9   2881.3
Pipe Throughput                               12440.0    1551706.6   1247.4
Pipe-based Context Switching                   4000.0     292249.5    730.6
Process Creation                                126.0      10366.9    822.8
Shell Scripts (1 concurrent)                     42.4       4758.3   1122.2
Shell Scripts (8 concurrent)                      6.0        636.8   1061.3
System Call Overhead                          15000.0    3422980.3   2282.0
========
System Benchmarks Index Score                                        1333.7

 

結果 – UnixBench

EC2 t2.micro Vultr $5
1回目 1586.7 1303.6
2回目 871.6 1333.7

1回目は t2.micro が優勢だったけどこれはT2インスタンス特有のバーストです。
クレジット残高が無くなったので2回目は本来の性能(言い方が難しい)になってます

UnixBenchって何だかんだCPU寄りの結果だと思ってる(個人的に)ので
fioもやってみたいと思います。

 

 

fio

$ fio -filename=/tmp/test2g -direct=1 -rw= -bs=4k -size=2G -numjobs=64 -runtime=10 -group_reporting -name=file1

non-bufferedです。IOPSだけ載せます。

 

t2.micro

Sequential Read Sequential Write Random Read Random Write
1回目 6331 6645 3364 3182
2回目 5975 6225 3179 3177
3回目 5966 6257 3177 3363

 

Vultr $5

Sequential Read Sequential Write Random Read Random Write
1回目 56636 6889 53056 6995
2回目 57217 5195 55076 7463
3回目 55391 7107 55148 6891

 

結果 – fio

t2.micro はバーストが効いていてこの値です。
圧倒的に Vultr の方がスコアがいいです。

 

 

ネットワーク

ここではHPやLPサイトを乗せるならと前提があるので
今回はレイテンシーに関しては触れないです。というのも面倒くさい。

t2.micro

実測: 62.8Mbps

t2.micro の実測値は詳細に書かれているQiitaがありますので
そちらを御覧ください。
http://qiita.com/saitara/items/882a3e70639637e24a4f

Vultr $5

実測: 848Mbps

たまに2kbpsとかに落ちるらしい。
家の回線は100Mbpsなのでうまいこと試せませんが
いきなり膨大なトラフィックを流すと1分ぐらい規制されちゃうのかな?

 

 

まとめ

EC2 t2.micro をオンデマンドで1ヶ月動かした場合: $0.016 * 720 = $11.5
Vultr.com $5のVPSを1ヶ月動かした場合: $5
EC2側はこれにネットワークトラフィック量も加算されます。
大体2分の1以上、Vultrが安い。

サービスクリティカルじゃないものでAWSの親和性が必要でないものなら
Vultr.com を始めとしたVPSに載せるのは大いにアリだなと思った。

ちなみに、Vultr.com SLA 100% です。

https://www.vultr.com/