DigitalOceanを使ってみる¶
Dockerを調べていて、 Running Docker on Digital Ocean with Ubuntu という記事を見つけて、 Digital Ocean というVPSサービ スがあることを知りました。
で、これが結構安くていいので契約して、dockerを入れてcontainerを作りまくっているところです。
仕様¶
すべてのプランでRAID SSDと、ECC RAMです。
$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 入るので、もしもこのページで興味を持っていただけたら、踏んでくれると嬉しいです。
Comments
comments powered by Disqus