Linode vs. Slicehost
今日は Rails勉強会@東京第34回 に行ってきたのですが、そこで「Rails を動かすレンタルサーバのお勧めは?」という質問に対してVPSの Slicehost がお勧めされるという場面がありました。
まあまあ確かに Slicehost もすばらしいとは思うのですが、VPS といえば猫も杓子も Slicehost みたいになってるので、VPS歴3ヶ月の私が先日契約した Linode というVPSの紹介をしてみたいと思います。
Linode は Slicehost と同じ Xen を利用した VPS を提供している会社で、価格設定や独自のシンプルなコントロールパネル、Twitter や SNS を使ったサポートなど似た部分が多く、ターゲットとなる顧客層もかなり似通っているのではないでしょうか。Slicehost と比べて全く遜色のないVPSだと思えるのですがなぜか国内ではほとんど言及がなく情報があまりありません。Google で Linode を検索しても、トップに出てくる日本語の記事は2004年という体たらくです。
2003年に設立された当初はUMLを利用したVSPだったようで、UMLのためパフォーマンスはそれほど良いとは言えなかったようですが、2008年に入ってXenを利用するようになりその心配はなくなりました。最近だと Rails Rumble にサーバを提供したなんてニュースがありましたね。一昨年から始まったような Slicehost とは年季が違うのですよ。
VPSを契約する際にはもちろん Slicehost も考えたのですが、Slicehost でなく Linode を選んだ決め手となった点を以下に2つほど書いておきます。
コストパフォーマンスが高い
一番安いプランではすべての項目において Linode が Slicehost を上回っています。
Plan | RAM | Strage | Transfer | Price | |
---|---|---|---|---|---|
Linode | Linode 360 | 360MB | 12GB | 200GB | $19.95 |
Slicehost | 256 slice | 256MB | 10GB | 100GB | $20 |
Rails アプリケーションを公開するような用途の場合は、やはり最低でも512MB以上のメモリがほしいところですが、そのランクのプランで比較すると$8.05/月の差が出てきます。1ドル360円で換算したとすると2898円/月に相当します。この差は大きいですね。
Plan | RAM | Strage | Transfer | Price | |
---|---|---|---|---|---|
Linode | Linode 540 | 540MB | 18GB | 300GB | $29.95 |
Slicehost | 512 slice | 512MB | 20GB | 200GB | $38 |
ネットワークが近い ※ ただし Fremont に限る
海外のVPSを借りるときに注意したいのがネットワークのレスポンスの速さで、これはネットワーク上の距離に依存します。pingを打ってみるとわかりますがレスポンスが返ってくるまでの時間は次のような感じになります。(使っているプロバイダや時刻などの様々な要因でこの数字は変わってきます。参考程度に考えてください。)
- 国内: 数ms〜数十ms
- アメリカ西海岸: 100ms代前半
- アメリカ東海岸: 200ms前後
- ヨーロッパ: それ以上
ブラウザでウェブページを見る程度であれば100ms程度の遅延はあまり気にならないと思います。しかし、VPSにSSHでログインしてシェルでいろいろしたり、ましてや開発環境にしたいなんて場合は速ければ速いに越したことはないです。私の個人的な体感としてはSSHで作業する場合、300ms => 使い物にならない、200ms => イライラ、100ms => 問題なし、といった感じでしょうか。
Linode は4つのデータセンターから好きな場所を選択することが可能で、日本からであれば断然アメリカ西海岸の "Fremont, CA" が近いです。ただし空きがないことも多く、その場合は最初はほかのデータセンターを利用しておき、空きができた時に移動を申請することが可能なようです。私も最初は Dallas を利用し、途中から Fremont に乗り換えました。
昨日、Fremont にサーバが追加されたらしく、全プランで計40ほどの募集がされていましたが、この記事を書いている時点ではすでに 360: 3, 540: 7, 720: 1 しか残っていません。契約を考えている方はお早めにどうぞ。
参考までに私の環境での Linode と Slicehost それぞれのサーバへの ping の結果を載せておきます。
データセンター | ホスト名 | time | |
---|---|---|---|
Linode | Newark, NJ, USA | newark73.linode.com | 197.639ms |
Atlanta, GA, USA | atlanta47.linode.com | 167.586ms | |
Dallas, TX, USA | dallas111.linode.com | 190.425ms | |
Fremont, CA, USA | fremont49.linode.com | 106.735ms | |
Slicehost | ---- | slicehost.com *1 | 187.674ms |
traceroute の結果も置いておきます。
$ traceroute fremont49.linode.com traceroute to fremont49.linode.com (65.49.60.14), 64 hops max, 40 byte packets (省略) 6 tky001bf00.IIJ.Net (58.138.80.25) 27.191 ms tky001bf01.IIJ.Net (58.138.80.29) 6.611 ms 6.512 ms 7 tky008bb00.IIJ.Net (58.138.80.54) 7.539 ms 7.102 ms 7.332 ms 8 lax002bb00.IIJ.Net (216.98.96.185) 122.178 ms sjc002ix00.IIJ.Net (216.98.96.86) 105.257 ms lax002bb00.IIJ.Net (216.98.96.185) 122.602 ms 9 equinix-sjc.he.net (206.223.116.37) 106.013 ms lax002ix02.IIJ.net (216.98.96.166) 121.818 ms 121.933 ms 10 10gigabitethernet1-1.core1.fmt1.he.net (72.52.92.109) 109.865 ms 119.764 ms equinix-lax.he.net (206.223.123.37) 121.667 ms 11 10gigabitethernet1-3.core1.pao1.he.net (72.52.92.21) 130.138 ms 123.565 ms fremont49.linode.com (65.49.60.14) 101.713 ms
$ traceroute slicehost.com traceroute to slicehost.com (67.207.128.80), 64 hops max, 40 byte packets (省略) 6 tky001bf00.IIJ.Net (58.138.80.1) 6.289 ms tky001bf01.IIJ.Net (58.138.80.5) 6.063 ms tky001bf00.IIJ.Net (58.138.80.1) 6.673 ms 7 sjc002bb01.IIJ.net (216.98.96.97) 104.968 ms sjc002bb01.IIJ.net (216.98.96.146) 108.975 ms sjc002bb01.IIJ.net (216.98.96.97) 105.251 ms 8 sjc002ix02.IIJ.net (216.98.96.246) 105.268 ms sjc002ix02.IIJ.net (216.98.96.94) 105.039 ms 100.897 ms 9 gi1-5.mpd01.sjc03.atlas.cogentco.com (154.54.12.169) 104.884 ms 108.953 ms 105.043 ms (省略) 15 vl3502.na21.b016110-1.stl03.atlas.cogentco.com (66.28.5.58) 147.586 ms 147.136 ms 142.619 ms 16 38.104.162.22 (38.104.162.22) 148.103 ms 147.082 ms 146.844 ms 17 209.20.79.227 (209.20.79.227) 183.927 ms 188.443 ms 183.057 ms 18 www.slicehost.com (67.207.128.80) 187.484 ms 184.514 ms 184.518 ms
おまけ: Xen vs. Virtuozzo/OpenVZ
一口にVPSと言っても、それを実現するための仮想化環境には様々なものがあります。巷の同価格帯のVPSサービスを見回してみると主流は Xen と Virtuozzo (とそのオープンソース版の OpenVZ) のようです。しかし国内のVPSはビジネスとしてやりやすいのか Virtuozzo を採用していることが多いように思えます。例えば、最近話題になった CPIのVPSスケーラブルプラン by KDDI もそうですね。
Xen と Virtuozzo の技術的な違いを説明できるほどの知識を持ち合わせていないのでそこは他のサイトに譲りますが、国内で何となく安心だからといって安易に選ばずに Xen か Virtuozzo のどちらが自分の用途に合っているかを適切に選ぶことは価格やメモリの多寡よりもよっぽど重要だと思います。
私も Linode の前にファーストサーバのVPSの月額945円の今は亡き「プロビジネス5」を試用したことがあります。Virtuozzo でメモリは192MB。Virtuozzo は Xen と違いかなり細かいリソースの制限が可能らしくその中でも kmemsize (カーネルメモリ) の制限がかなりのくせ者でした。
プロビジネス5では kmemsize の制限は 2864640Bytes となっていて少し重い作業をするとすぐこの制限に引っかかってしまい、プロセスがいきなり kill されてしまいます。環境構築しようとして Vim をコンパイルしようとすれば kill。gem install ... で kill。Apache と MySQL を動かしたら Screen を立ち上げるだけで kill。私の使い方では全く使い物になりませんでした。メモリ192MBでそんな使い方をする方が間違ってはいるかもしれませんが、同じメモリでも Xen であれば遅くなるだけでプロセスが停止するという状況にまではなかなかなりません。
CPIのVPSで同じような状況の方が何人かいるようなのでリンクを張っておきます。