もう時代の流れはslicehostじゃなくてLinodeだった件について

前回あたりまでslicehostを持ち上げて実際に契約して検証した。今日も今日とてslicehostについて検索しているとslicehostよりも条件の良いサービスが見つかった。それがLinodeだった。

Linode vs. Slicehost

Plan RAM Strage Transfer Price
Linode Linode 360 360MB 12GB 200GB $19.95
Slicehost 256 slice 256MB 10GB 100GB $20

slicehostの$20/月プランと比べて、100MBもメモリが多い。

Linode

model name : Intel(R) Xeon(R) CPU L5335 @ 2.00GHz

slicehostと同じくらい?のCPUが4発。

どちらも仮想化はXen。

正直なところ、256MBメモリの縛りプレイは、サーバとしては厳しい。1つのRailsインスタンスが50MBほどのメモリを必要とするため、3つ目のインスタンスをコンソールで起動しようとするとswapが発生してしまい、ハコる。

他のプランをメモリ容量にて比較していくと、以下の通りになる。

slicehost vs Linode
$38(512MB) vs $29.95(540MB)
$70(1024MB) vs $59.95(1080MB)

Linodeを契約して、また別のVPSサービスが見つかったら悲しいので、調べておくか…

カテゴリー: チラシの裏 | コメントする

Web前提レポートに対して意地悪を考えた

Webで検索することを前提とするレポート課題がある。期限は1週間。

ある程度の検索のひっかかりやすさのあるサイト(もしくはブログ)において、課題出題日に全速で、課題の核となる部分を”それらしく”執筆する。技術的に細部の部分のレポートであればあるほど、情報のまとまったサイトしか引っかからない。

その核のある一部分においてあからさまな間違いを混入する。正式な文章は論文しか存在せず、英文を読むコスト、もしくは書籍を参照するコストがかかる。

その課題レポートにおいて、そのサイト(ブログ)の執筆者は自分であると主張し、間違いを修正して提出。そのサイトの参照者は皆、ひっかかる。

…なんという、意地悪。

カテゴリー: チラシの裏 | コメントする

sakuraとslicehostの簡単な評価の続き

sakuraとslicehostの簡単な評価の続き。

ぱっと見てメモリのswapで遅くなっている雰囲気だったので、passengerの起動数を抑制する。

$ sudo vi /etc/apache2/httpd.conf
RailsMaxPoolSize 2

再度10並列の実験。

$ ab -n10 -c10 "http://slice/..."
:
Concurrency Level:      10
Time taken for tests:   14.465143 seconds
Complete requests:      10
Failed requests:        0
Write errors:           0
Total transferred:      1670090 bytes
HTML transferred:       1664720 bytes
Requests per second:    0.69 [#/sec] (mean)
Time per request:       14465.144 [ms] (mean)
Time per request:       1446.514 [ms] (mean, across all concurrent requests)
Transfer rate:          112.68 [Kbytes/sec] received

2倍はやい!?

もしかして富豪的プログラマーにお薦め?

まとめ

apacheのチューニングもなしに静的なページにアクセスしたりsqlite3的なrailsを叩いたりして簡単に測定した。

静的ページではsakuraが良かったが、動的ページでは$20のslicehostの方が同等もしくはそれ以上の結果を出した。以上の結果を踏まえて結論を出すには尚早だが、計算を行うサーバとしてslicehostはなかなか使えそうだ。

過去にrailsなどのサービスを提供するための専用サーバサービスの選び方にてロジックと画像のサーバを分ける検討をした。ロジックはslicehost、画像はsakuraに置く手法を用いればスケーラブルで応答の良い安価なサービスが展開できるかもしれない。railsでは画像やスタイルシートのサーバを別に定義することができる(ex. config.action_controller.asset_host)。

今後の評価次第だが、画像を用いない、応答性を要求しないサービスであれば、slicehostを検討すべきかもしれない。

カテゴリー: チラシの裏 | コメントする

sakuraとslicehostの簡単な評価

RTTの違い

自宅のサーバからのそれぞれのping。

$ ping slicehost
:
10 packets transmitted, 10 received, 0% packet loss, time 9000ms
rtt min/avg/max/mdev = 167.817/168.212/168.930/0.350 ms
$ ping sakura
:
10 packets transmitted, 10 received, 0% packet loss, time 8995ms
rtt min/avg/max/mdev = 23.060/24.275/25.002/0.637 ms

slicehostの168msに対してsakuraが24ms。

スタティックなページでリクエストを行った場合

自宅からそれぞれrails上のページにアクセスを行う。

$ ab -n10 "http://slice/..."
:
Concurrency Level:      1
Time taken for tests:   10.484864 seconds
Complete requests:      10
Failed requests:        0
Write errors:           0
Total transferred:      681050 bytes
HTML transferred:       678240 bytes
Requests per second:    0.95 [#/sec] (mean)
Time per request:       1048.486 [ms] (mean)
Time per request:       1048.486 [ms] (mean, across all concurrent requests)
Transfer rate:          63.42 [Kbytes/sec] received
$ ab -n10 "http://sakura/..."
:
Concurrency Level:      1
Time taken for tests:   3.87220 seconds
Complete requests:      10
Failed requests:        0
Write errors:           0
Total transferred:      680920 bytes
HTML transferred:       678240 bytes
Requests per second:    3.24 [#/sec] (mean)
Time per request:       308.722 [ms] (mean)
Time per request:       308.722 [ms] (mean, across all concurrent requests)
Transfer rate:          215.08 [Kbytes/sec] received

個別の応答に対してはRTTが小さい方=sakuraが有利。

CPUの違い

slicehost(月額$20)のCPU

$ cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 65
model name      : Dual-Core AMD Opteron(tm) Processor 2212
stepping        : 2
cpu MHz         : 2010.300
cache size      : 1024 KB

が4発。メモリは256MB。

sakura(月額7,800円)のCPU

$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 22
model name      : Intel(R) Celeron(R) CPU          220  @ 1.20GHz
stepping        : 1
cpu MHz         : 1200.104
cache size      : 512 KB

が1発。メモリは1GB。

わざと処理の重いページへリクエストを行った場合

rails上のsqlite3に対してselectを行う処理をpassengerを用いたapache2に向かって行う。

$ ab -n10 "http://slice/..."
:
Concurrency Level:      1
Time taken for tests:   32.187805 seconds
Complete requests:      10
Failed requests:        0
Write errors:           0
Total transferred:      1670090 bytes
HTML transferred:       1664720 bytes
Requests per second:    0.31 [#/sec] (mean)
Time per request:       3218.781 [ms] (mean)
Time per request:       3218.781 [ms] (mean, across all concurrent requests)
Transfer rate:          50.64 [Kbytes/sec] received
$ ab -n10 "http://sakura/..."
:
Concurrency Level:      1
Time taken for tests:   33.390847 seconds
Complete requests:      10
Failed requests:        0
Write errors:           0
Total transferred:      1669850 bytes
HTML transferred:       1664720 bytes
Requests per second:    0.30 [#/sec] (mean)
Time per request:       3339.085 [ms] (mean)
Time per request:       3339.085 [ms] (mean, across all concurrent requests)
Transfer rate:          48.82 [Kbytes/sec] received

3倍の差がなくなっている。

次は10並列でリクエストを行ってみる。

$ ab -n10 -c10 "http://slice/..."
:
不能
$ ab -n10 -c10 "http://sakura/..."
:
Concurrency Level:      10
Time taken for tests:   29.537597 seconds
Complete requests:      10
Failed requests:        0
Write errors:           0
Total transferred:      1669856 bytes
HTML transferred:       1664720 bytes
Requests per second:    0.34 [#/sec] (mean)
Time per request:       29537.598 [ms] (mean)
Time per request:       2953.760 [ms] (mean, across all concurrent requests)
Transfer rate:          55.18 [Kbytes/sec] received

sakuraは耐え切るがslicehostはダウン。

デフォルトのpassengerではダメかもしれない。

sakuraとslicehostの簡単な評価の続きに続く。

カテゴリー: チラシの裏 | コメントする

slicehostなどのVPSサーバでgemが遅い場合の対処法

これは以前のさくらの専用サーバサービスでのgemによるrailsインストールの際にも感じたことだが、油断して普通にgem(rubygems)によるrailsのインストールをしようとすると遅くて重い。

例えばslicehostで今、Ubuntu 8.04にて以下の作業を行ったが一向にrailsがインストールされる兆しがない。

$ sudo aptitude install rubygems
$ sudo gem install rails

これはubuntuの管理しているgemsが古いため、遅いと考えられる。

noch@labo:~$ aptitude show rubygems
パッケージ: rubygems
新規: はい(yes)
状態: インストールされていません
バージョン: 0.9.4-4

ここでバージョンは0.9.4となっているが最新のrubygemsは1.3.1である。

そこで以下の作業を行い、最新のrubygemsのインストールをを手動で行う。

$ sudo aptitude purge rubygems
$ sudo aptitude install ruby rdoc
$ wget "http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz"
$ tar xvzf rubygems-1.3.1.tgz
$ cd rubygems-1.3.1
$ sudo ruby ./setup.rb

これにて非常に短時間で以下のコマンドが実行できる。

$ sudo gem install rubygems-update
$ sudo gem install rails
カテゴリー: VPS, チラシの裏 | コメントする

話題のVPSであるslicehostを$20/月で借りてみた件について

不況のあおりを受け、経費削減が重要課題になりつつある。

当方でも実験用にさくらの専用サーバを借りていたりするが、ロクに負荷をかけないものばかり実験しているので経費削減のために安いVPSに移ることを検討した。

先月あたりにrailsなどのサービスを提供するためのVPSサービスの選び方と称して下調べはついている。

結論として、Webホスティング以上、専用サーバ以下のサービスと価格を求めるにあたり、VPSのslicehostが評判が良いので、slicehostについて評価することとした。

slicehostのサイトを見ると簡潔に特徴が表示してあり分かりやすい。実験目的なので最も安い$20/月のサービスに申し込んだ。

驚くことに、申し込んで2,3分程度でsliceが出来上がったというメールが届いた。メールにはサーバのIPアドレス、rootパスワードが羅列されている。実際にそのサーバへ、そのパスワードでログインすると入れた。簡単で便利だが少し怖い(申し込み時点でパスワードをメール転送するかしないかを選択でき、サイト上で確認することもできる)。

選択したフレーバーはUbuntu 8.04LTS。自分でもインストールしたことのあるなじみの深いフレーバーだ。しかしメモリ256MBでは少々重いかもしれない。

噂のWeb上コンソールも試してみた、が、遅さが気になる。

# adduser hogehoge
# visudo
:
noch    ALL=(ALL) ALL

adduserにてユーザーを作成し、作成したユーザーに対してsudo権限を与える。

2つめのターミナルを起動し、作成したユーザーでログインできることを確認する。さらに作成したユーザーでsudoできることを確認する。もし上手くいかないようであれば、rootでログイン済みの1つめのターミナルで修正を行う。

ついでにパスワードを収めているshadowファイルを編集し、以下の通りにする。

$ sudo vi /etc/shadow
root:!!:13997:0:99999:7:::

3つめのターミナルを起動しrootでログインできないことを確認する。

その後はsliceチームが用意しているSlicehost Articles: Ubuntu Hardy setup – page 1などを参考にしながら好きに設定を行う。

カテゴリー: VPS, チラシの裏 | コメントする

bittorrentでパッケージダウンロードを行うapt-p2p

apt-p2pなんてものがあるとは知らなかった。

apt-p2p:BitTorrentを利用したUbuntu”Intrepid Ibex”へのアップデート :P2Pとかその辺のお話

Ubuntuの8.10は無事にリリースされた。bittorrentでアップデートするのも面白いかもしれない。

カテゴリー: チラシの裏 | コメントする