さくらのマネージドサーバ Core 2 Duoプラン体験記その2
2010年11月07日 プログラミングTIPS
さくらのマネージドサーバ Core 2 Duoプラン体験記その1からの続きです。さくらインターネットの社長に会ってきたとき、CREAMUの中の人と小粋空間の中の人も来ていました。「ブログって、書いている中の人がいるから更新されてるんだね」、と思ったりしました。
さて、「さくらのマネージドサーバ Core 2 Duo ブロガーレビュー」ページには、上記お二方とGeekなぺーじの人のレビュー記事やモニターユーザーの記事も掲載されています。このサーバプランに興味を持ったら、読んでみてください。
さて、「さくらのマネージドサーバ Core 2 Duo ブロガーレビュー」ページには、上記お二方とGeekなぺーじの人のレビュー記事やモニターユーザーの記事も掲載されています。このサーバプランに興味を持ったら、読んでみてください。
前回の記事で「さくらのマネージドサーバCore 2 Duoプラン」がどれだけお得かわかったところで、実際にサーバーを動かしてみることにしました。レンタルサーバはスペックだけでは見えてこない部分があったりしますので、自分で動かしてみることが大切です。
今回は処理速度比較として、自分でレンタルしているサーバー2台と、今回お借りしたさくらのマネージドサーバCore 2 DuoプランのPHPモード別に、以下6つの処理速度を計測してみました。
1. さくらのレンタルサーバスタンダードプランさくらのマネージドサーバCore 2 Duoプランは、コントロールパネルからPHPの設定を簡単に切り替えることができます。PHP4とPHP5のCGIモードとモジュールモード、それから PHP用アクセラレータのeAcceleratorをインストールした場合の速度を計測しました。処理速度比較には、PHP用のプログラムとしては比較的重いことで知られているPukiWiki(バージョンは1.4.7_notb)を利用しました。
2. さくらインターネットの専用サーバ
3. さくらのマネージドサーバCore 2 Duoプラン(PHP4 CGIモード)
4. さくらのマネージドサーバCore 2 Duoプラン(PHP5 CGIモード)
5. さくらのマネージドサーバCore 2 Duoプラン(PHP5 モジュールモード)
6. さくらのマネージドサーバCore 2 Duoプラン(PHP5 モジュールモード eAccelerator)
さくらのマネージドサーバCore 2 DuoプランにeAcceleratorをインストール
まずは、さくらのマネージドサーバCore 2 DuoプランにPHP用アクセラレータのeAcceleratorをインストールする方法です。このサーバにはroot権限がないと聞いて、「PHP用アクセラレータを自分でインストールすることは無理だろう」と諦めていました。ところが、さくらインターネットの人に聞いたところ、PHPのモジュールモードが利用できるさくらのレンタルサーバ(ビジネスプロプランのみ)とさくらのマネージドサーバではPHP用アクセラレータが利用できるとのことでした。そこで、eAcceleratorのインストール方法について非公式ながら教えていただきました。
さくらのマネージドサーバCore 2 DuoプランにPHP用アクセラレータのeAcceleratorをインストールする手順は以下の通りです(下記の手順は公式なサポートではありません。 サーバのアップデートなどにより突然使えなくなる可能性もあり、動作上の不具合もサポートの範囲外となります。扱う際は自己責任でお願いします)。
■sshログインこれでeAcceleratorのインストールは完了です。eAcceleratorの細かい設定について、ここでの解説は省きます(気になる人は、他のページで調べてみてください)。
SSHクライアントソフトを用意して、サーバにログイン。
ssh example@example.sakura.ne.jp
■ディレクトリの作成
以下は /home/example/local の下に設置する場合
%cd /home/example
%mkdir -p local/src local/lib local/cache
■インストール
https://eaccelerator.net/ からファイルをダウンロード
%cd local/src
%fetch https://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
eAcceleratorをビルド
%tar -xjvf eaccelerator-0.9.6.1.tar.bz2
%cd eaccelerator-0.9.6.1
%phpize
%./configure --prefix=/home/example/local \
--enable-eaccelerator=shared \
--with-php-config=/usr/local/bin/php-config
%make
(make install は失敗する)
%cp -p modules/eaccelerator.so /home/example/local/lib
%cp -p control.php /home/example/www
■control.phpのユーザ、パスワードを変更
上でコピーしたcontrol.phpファイルのユーザ、パスワードを変更する。
(※ファイル編集には、FTPクライアントソフトでいったんファイルをダウンロードするか、sshクライアントソフトからviなどのエディタを利用する)
ファイルを開き、下記$userと$pwを変更する。
-------------------------------------------------------------
$user = "admin";
$pw = "eAccelerator";
-------------------------------------------------------------
■PHP設定
コンパネ>PHP言語に関する設定>PHP設定の編集
------------------------------------------------------------
[eaccelerator]
zend_extension="/home/example/local/lib/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/home/example/local/cache"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
------------------------------------------------------------
コンパネ>PHP言語に関する設定>PHPのバージョン選択
標準のPHP[PHP5]
モジュール版 にチェック
■control.php確認
https://example.sakura.ne.jp/control.phpにアクセスする。
(control.phpに設定したユーザ名とパスワードを入力して認証する)
eAccelerator control panelで利用状況の確認ができる。
eAcceleratorがインストールできたかどうかの確認は、上記control.phpで確認する他、PHPプログラムから「phpinfo();」を実行して、「eAccelerator」の項目があるかないかで確認できます。
pukiwikiを使って処理速度を比較するための準備
今回、pukiwikiを使って処理速度の比較をしてみます。pukiwikiを選んだのは、それなりに処理が重く、また自分でもドラゴンクエスト9攻略Wikiなどで使い慣れているという理由からです。pukiwikiには、「HTML convert time」を表示する機能が付いています。今回はこれにプラスして、libディレクトリにあるpukiwiki.phpの実行開始から終了までの時間を計測することにしました。計測するには、pukiwiki.phpの冒頭に下記2行を追加します。
$start_m = microtime();そして、一番下の「exit;」の行の前に、下記4行を追加します。
$start = time();
$end_m = microtime();これにより、HTMLのconvert timeだけでなく、pukiwiki.phpが呼び出されてから終了するまでの時間を表示して、計測することができます。
$end = time();
$bench = ($end - $start) + ($end_m - $start_m);
var_dump($bench);
pukiwikiを使って処理速度比較
共用サーバ、専用サーバ、マネージドサーバ(PHPのモード別に4つ)でそれぞれpukiwikiを実行し、処理速度を計測しました。1.さくらのレンタルサーバスタンダードプラン
まずは共用サーバである、さくらのレンタルサーバスタンダードプランから。
HTML convert time: 0.020 sec.HTML convert timeは0.02秒、pukiwiki.phpの処理時間は0.043秒でした。これは何度も実行して、処理速度が速かったときの平均値です。共用サーバだけあって、速いときと遅いときの差が激しく、処理時間が0.2秒を越えることもありました。したがって、処理の平均時間で言えばもっともっと遅くなります。多数のユーザで使う共用サーバならではの悩みです。
float(0.043)
2.さくらインターネットの専用サーバ
続いて、約5年前から借りている、さくらインターネットの専用サーバ。CPUは、Athron64+です。
HTML convert time: 0.014 sec.HTML convert timeは0.014秒、pukiwiki.phpの処理時間は0.018秒でした。このサーバーには、PHP用アクセラレータであるXCacheをインストールしてあるため、さすがに処理速度は共用サーバよりも速い結果となりました。
float(0.018)
3.さくらのマネージドサーバCore 2 Duoプラン(PHP4 CGIモード)
次は今回お借りした、さくらのマネージドサーバCore 2 Duoプランのサーバです。このサーバは、コントロールパネルからPHPのバージョンおよびCGIモードかPHPモジュールモードかを選択することができます。まずは、サポートが終了しているPHP4のCGIモードから。
HTML convert time: 0.015 sec.HTML convert timeは0.015秒、pukiwiki.phpの処理時間は0.032秒でした。このサーバでは、他に動かしているプログラムがないため、常に同じような処理時間となりました。さすがはサーバ一台丸ごと使えるだけあります。他のユーザの影響を全く受けません。
float(0.032)
4. さくらのマネージドサーバCore 2 Duoプラン(PHP5 CGIモード)
続いて、PHP5のCGIモードに切り替えて実行。
HTML convert time: 0.013 sec.HTML convert timeは0.013秒、pukiwiki.phpの処理時間は0.029秒でした。PHP5の方が明らかに処理速度が速かったです。PHP4はすでにサポートが終了しているため、安全性の面でも処理速度の面でもPHP4を選ぶ必要はありません。
float(0.029)
5. さくらのマネージドサーバCore 2 Duoプラン(PHP5 モジュールモード)
次は、PHP5のモジュールモードに切り替えて実行です。
HTML convert time: 0.013 sec.HTML convert timeは0.013秒、pukiwiki.phpの処理時間は0.028秒でした。CGIモードからモジュールモードに切り替えても、思ったよりも速くなりませんでした。上の専用サーバと比較してみると、さくらのマネージドサーバCore 2 Duoプランの方が50%以上も処理速度が遅いことがわかりました。これだと、専用サーバから乗換えるにしては、少し処理速度が物足りないかもしれません。
float(0.028)
6. さくらのマネージドサーバCore 2 Duoプラン(PHP5 モジュールモード eAccelerator)
そしていよいよ、PHP5のモジュールモードにeAcceleratorをインストールしての実行です。
HTML convert time: 0.009 sec.HTML convert timeは0.009秒、pukiwiki.phpの処理時間はなんと0.012秒でした!eAcceleratorをインストールすると、明らかに処理速度が速くなりました。インストール前が0.028秒でインストール後が0.012秒ですから、2倍以上速くなっています。と言っても、これは処理が速かった場合の場合の平均値です。eAcceleratorをインストールした場合は、他にプログラムが動いていないにも関わらず、処理速度に多少ばらつきが出ました。遅いときは0.018秒くらいです。それでも、eAcceleratorインストール前から比べれば平均で2倍近い速度が出ていました。専用サーバと比べても、さくらのマネージドサーバCore 2 Duoプランの方が明らかに処理速度が速い結果となりました。
float(0.012)
専用サーバを借りたのが5年近く前とは言え、この速度差はなかなかのショックです。PHPプログラムを使う上では、PHP用アクセラレータをインストールできるかできないかで処理速度が大きく変わってきます。さくらのマネージドサーバCore 2 Duoプランでは、専用サーバと同じようにPHP用アクセラレータをインストールできたため、CPU性能の差がそのまま処理速度として現れてしまいました。
さくらのマネージドサーバCore 2 Duoプランまとめ
ということで、さくらのマネージドサーバCore 2 Duoプランについて簡単にまとめると、1. 初期費用が安いという良いことだらけのプランでした。
2. 管理が簡単
3. 処理速度が速い
もし、「CPUがCore 2 Duo、メモリが4GB、HDDが500GBのRAID構成」のスペックに不満がある、あるいは「もっと自由にサーバをいじりたい」というのであれば、専用サーバでなければいけません。ですが、多くの場合はこのスペックで満足できるのではないかと思います。処理速度が速く、管理はさくらインターネット任せというのは、すごく魅力的です。
今回、PHPのモード切替は、コントロールパネルから設定しました(eAcceleratorのインストールはSSHで)。Web上から簡単に切り替えることができて楽でした。また、今回は試していませんが、Movable TypeやWordPressなどのブログツールやCMSツールとして人気のXOOPS、メールフォームや掲示板などもコントロールパネルから簡単にインストールできます。リソース情報の確認やモニタリングツール等も付いていて、非常に使いやすく感じました。専用サーバのように専門の知識を持っていなくても、簡単に高性能なサーバを一台丸ごとレンタルできるのがさくらのマネージドサーバCore 2 Duoプランの強みだと思います。高性能なレンタルサーバを求めている人がいたら、ぜひオススメしたいプランです。