このエントリーをはてなブックマークに追加

DigitalOceanを使ってみる

Dockerを調べていて、Running Docker on Digital Ocean with Ubuntuという記事を見つけて、Digital OceanというVPSサービスがあることを知りました。

で、これが結構安くていいので契約して、dockerを入れてcontainerを作りまくっているところです。

仕様

すべてのプランでRAID SSDと、ECC RAMです。

Digital Ocean値段表
$5/月 512MB Memory 1 Core 20GB SSD Disk 1TB Transfer
$10/月 1GB Memory 1 Core 30GB SSD Disk 2TB Transfer
$20/月 2GB Memory 2 Cores 40GB SSD Disk 3TB Transfer
$40/月 4GB Memory 2 Cores 60GB SSD Disk 4TB Transfer
$80/月 8GB Memory 4 Cores 80GB SSD Disk 5TB Transfer

最低が月500円程度と、さくらのVPSに比べても安いです。メモリが512MBと少なめですが、その一方HDDがSSDとなっており、高速です。

インストールできるイメージは

ubuntu
12.04, 12.10, 13.04
CentOS
6.4, 5.8
Debian
7.0, 6.0
Arch
2013.05
Fedora
17

のそれぞれx32とx64が用意されています。

その他、LAMP構成、Ruby on Rails構成、Wordpress構成が設定済みのイメージも用意されているため、簡単にアプリを立ち上げることもできます。

性能評価

現在、月5ドルのプランを一台借りてみていますので、軽く評価してみます。

CPU

/proc/cpuinfoを覗いてみます。

% cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 2
model name      : QEMU Virtual CPU version 1.0
stepping        : 3
microcode       : 0x1
cpu MHz         : 1999.999
cache size      : 4096 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 4
wp              : yes
flags           : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm rep_good nopl pni vmx cx16 popcnt hypervisor lahf_lm
bogomips        : 3999.99
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual

うは。QEMU-KVMなんですね。

ネットワーク

現在 アメリカ西海岸、東海岸、ロンドン、の三箇所にDCがあるそうです。(今後シンガポールにもできるとか)。一番近そうなのが西海岸ですので、そこで契約しています。

ということで経路を測ってみます。さくらのVPSから測ってみたところ、こんな感じになりました。

% traceroute -q 1 192.241.19*.***
traceroute to 192.241.19*.*** (192.241.19*.***), 64 hops max, 52 byte
 1  49.212.20.1 (49.212.20.1)  0.667 ms
 2  oshrt1b-hrt11e-1.bb.sakura.ad.jp (59.106.245.73)  0.867 ms
 3  osnrt1s-hrt2b.bb.sakura.ad.jp (59.106.244.157)  4.963 ms
 4  osdrt2-nrt1s-1.bb.sakura.ad.jp (157.17.146.29)  0.549 ms
 5  210.130.146.193 (210.130.146.193)  0.720 ms
 6  osk004bb01.IIJ.Net (58.138.106.181)  0.730 ms
 7  osk004bf01.IIJ.Net (58.138.81.113)  0.542 ms
 8  lax002bb10.IIJ.net (216.98.96.65)  104.835 ms
 9  sjc002bb10.IIJ.net (206.132.169.90)  124.586 ms
10  xe-6-0-3.ar2.sjc1.us.nlayer.net (69.22.153.161)  119.133 ms
11  ae0-90g.cr1.sjc1.us.nlayer.net (69.22.143.117)  117.672 ms
12  ae1-70g.cr1.pao1.us.nlayer.net (69.22.143.166)  118.547 ms
13  ae1-70g.cr1.sfo1.us.nlayer.net (69.22.143.169)  121.497 ms
14  ae1-70g.cr1.sfo1.us.nlayer.net (69.22.143.169)  123.234 ms
15  as14061.ae5-401.cr1.sfo1.us.nlayer.net (69.22.130.38)  123.025 ms
16  192.241.19*.*** (192.241.19*.***)  124.984 ms

さすがに太平洋を超えるだけあって120msecとそこそこかかりますね。ただ、hop数は意外と短いです。

ディスク性能

hdparmを使いました。

% sudo hdparm -t /dev/sda

/dev/sda:
   Timing buffered disk reads: 1202 MB in  3.00 seconds = 400.58 MB/sec

3回測った平均は 361.09 MB/sec でした。SSDの威力ですかね。ただ、300〜400と結構幅があったのが気になるところです。

続いてdbenchです。5プロセスで60秒で計測しました。

Operation      Count    AvgLat    MaxLat
----------------------------------------
NTCreateX     563357     0.064    63.920
Close         413722     0.005    16.089
Rename         23863     0.228    42.303
Unlink        113837     0.281    67.886
Deltree           10    17.825   118.445
Mkdir              5     0.003     0.003
Qpathinfo     510688     0.029    38.556
Qfileinfo      89340     0.003    10.136
Qfsinfo        93643     0.006    11.425
Sfileinfo      45922     0.103    18.821
Find          197411     0.059    18.379
WriteX        280092     0.139    77.909
ReadX         883117     0.018    20.569
LockX           1834     0.021     4.346
UnlockX         1834     0.013     3.666
Flush          39504     2.937    76.655

Throughput 294.461 MB/sec  5 clients  5 procs  max_latency=77.925 ms

latency短いですねぇ。

総合性能

Unix Bench 5.1.2 を使いました。

1 CPU in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       26136848.3 lps   (10.0 s, 7samples)
Double-Precision Whetstone                     2566.0 MWIPS (9.9 s, 7samples)
Execl Throughput                               2975.9 lps   (30.0 s, 2samples)
File Copy 1024 bufsize 2000 maxblocks        797842.2 KBps  (30.0 s, 2samples)
File Copy 256 bufsize 500 maxblocks          229234.2 KBps  (30.0 s, 2samples)
File Copy 4096 bufsize 8000 maxblocks       1501884.7 KBps  (30.0 s, 2samples)
Pipe Throughput                             1568526.6 lps   (10.0 s, 7samples)
Pipe-based Context Switching                 236887.5 lps   (10.0 s, 7samples)
Process Creation                               8846.2 lps   (30.0 s, 2samples)
Shell Scripts (1 concurrent)                   5765.3 lpm   (60.0 s, 2samples)
Shell Scripts (8 concurrent)                    738.1 lpm   (60.0 s, 2samples)
System Call Overhead                        3233409.5 lps   (10.0 s, 7samples)

System Benchmarks Index Values               BASELINE       RESULT   INDEX
Dhrystone 2 using register variables         116700.0   26136848.3   2239.7
Double-Precision Whetstone                       55.0       2566.0   466.5
Execl Throughput                                 43.0       2975.9   692.1
File Copy 1024 bufsize 2000 maxblocks          3960.0     797842.2   2014.8
File Copy 256 bufsize 500 maxblocks            1655.0     229234.2   1385.1
File Copy 4096 bufsize 8000 maxblocks          5800.0    1501884.7   2589.5
Pipe Throughput                               12440.0    1568526.6   1260.9
Pipe-based Context Switching                   4000.0     236887.5   592.2
Process Creation                                126.0       8846.2   702.1
Shell Scripts (1 concurrent)                     42.4       5765.3   1359.8
Shell Scripts (8 concurrent)                      6.0        738.1   1230.1
System Call Overhead                          15000.0    3233409.5   2155.6
                                                                    ========
System Benchmarks Index Score                                        1210.3

この値段でこれですか。SSDのおかげでしょうか。

その他

digital oceanはAPIも豊富です。power on,shutdownなどはもとより、パスワードリセットなどもできます。 pypiにpython-digitaloceanもあります。

さらに、コントロールパネルも直感的で分かりやすいです。

まとめ

最初は太平洋を超えるから遅いんだろうなぁ、と思っていたのですが、sshをしてもそこまでの遅さは感じません。しかもSSDでちょっぱや。$5でこんだけの性能が得られるのは素晴らしいです。

しかも、さくらとかだと「年間契約」で安い場合もありますが、これは月課金でこの値段ですので、いつでもやめられる点はありがたいです。

宣伝

このリンクを踏んでDigital Oceanのページに行き、登録と支払いをしてくれると、ぼくに$10入るので、もしもこのページで興味を持っていただけたら、踏んでくれると嬉しいです。