ZAPAnet総合情報局 > [Z]ZAPAブロ〜グ2.0 > プログラミングTIPS > さくらのマネージドサーバ Core 2 Duoプラン体験記その2

さくらのマネージドサーバ Core 2 Duoプラン体験記その2

このエントリーをはてなブックマークに追加
2010年11月07日 カテゴリ:プログラミングTIPS
さくらのマネージドサーバ Core 2 Duoプラン体験記その1からの続きです。さくらインターネットの社長に会ってきたとき、CREAMUの中の人小粋空間の中の人も来ていました。「ブログって、書いている中の人がいるから更新されてるんだね」、と思ったりしました。

さて、「さくらのマネージドサーバ Core 2 Duo ブロガーレビュー」ページには、上記お二方とGeekなぺーじの人のレビュー記事やモニターユーザーの記事も掲載されています。このサーバプランに興味を持ったら、読んでみてください。


前回の記事で「さくらのマネージドサーバCore 2 Duoプラン」がどれだけお得かわかったところで、実際にサーバーを動かしてみることにしました。レンタルサーバはスペックだけでは見えてこない部分があったりしますので、自分で動かしてみることが大切です。

今回は処理速度比較として、自分でレンタルしているサーバー2台と、今回お借りしたさくらのマネージドサーバCore 2 DuoプランのPHPモード別に、以下6つの処理速度を計測してみました。
1. さくらのレンタルサーバスタンダードプラン
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プランは、コントロールパネルからPHPの設定を簡単に切り替えることができます。PHP4とPHP5のCGIモードとモジュールモード、それから PHP用アクセラレータのeAcceleratorをインストールした場合の速度を計測しました。処理速度比較には、PHP用のプログラムとしては比較的重いことで知られているPukiWiki(バージョンは1.4.7_notb)を利用しました。

さくらのマネージドサーバCore 2 DuoプランにeAcceleratorをインストール

まずは、さくらのマネージドサーバCore 2 DuoプランにPHP用アクセラレータのeAcceleratorをインストールする方法です。

このサーバにはroot権限がないと聞いて、「PHP用アクセラレータを自分でインストールすることは無理だろう」と諦めていました。ところが、さくらインターネットの人に聞いたところ、PHPのモジュールモードが利用できるさくらのレンタルサーバ(ビジネスプロプランのみ)とさくらのマネージドサーバではPHP用アクセラレータが利用できるとのことでした。そこで、eAcceleratorのインストール方法について非公式ながら教えていただきました。

さくらのマネージドサーバCore 2 DuoプランにPHP用アクセラレータのeAcceleratorをインストールする手順は以下の通りです(下記の手順は公式なサポートではありません。 サーバのアップデートなどにより突然使えなくなる可能性もあり、動作上の不具合もサポートの範囲外となります。扱う際は自己責任でお願いします)。
■sshログイン
SSHクライアントソフトを用意して、サーバにログイン。

ssh example@example.sakura.ne.jp


■ディレクトリの作成
以下は /home/example/local の下に設置する場合

%cd /home/example
%mkdir -p local/src local/lib local/cache


■インストール
http://eaccelerator.net/ からファイルをダウンロード

%cd local/src
%fetch http://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確認
http://example.sakura.ne.jp/control.phpにアクセスする。
(control.phpに設定したユーザ名とパスワードを入力して認証する)
eAccelerator control panelで利用状況の確認ができる。
これでeAcceleratorのインストールは完了です。eAcceleratorの細かい設定について、ここでの解説は省きます(気になる人は、他のページで調べてみてください)。

eAcceleratorがインストールできたかどうかの確認は、上記control.phpで確認する他、PHPプログラムから「phpinfo();」を実行して、「eAccelerator」の項目があるかないかで確認できます。

pukiwikiを使って処理速度を比較するための準備

今回、pukiwikiを使って処理速度の比較をしてみます。pukiwikiを選んだのは、それなりに処理が重く、また自分でもドラゴンクエスト9攻略Wikiなどで使い慣れているという理由からです。

pukiwikiには、「HTML convert time」を表示する機能が付いています。今回はこれにプラスして、libディレクトリにあるpukiwiki.phpの実行開始から終了までの時間を計測することにしました。計測するには、pukiwiki.phpの冒頭に下記2行を追加します。
$start_m = microtime();
$start = time();
そして、一番下の「exit;」の行の前に、下記4行を追加します。
$end_m = microtime();
$end = time();
$bench = ($end - $start) + ($end_m - $start_m);
var_dump($bench);
これにより、HTMLのconvert timeだけでなく、pukiwiki.phpが呼び出されてから終了するまでの時間を表示して、計測することができます。

pukiwikiを使って処理速度比較

共用サーバ、専用サーバ、マネージドサーバ(PHPのモード別に4つ)でそれぞれpukiwikiを実行し、処理速度を計測しました。

1.さくらのレンタルサーバスタンダードプラン
まずは共用サーバである、さくらのレンタルサーバスタンダードプランから。
HTML convert time: 0.020 sec.
float(0.043)
HTML convert timeは0.02秒、pukiwiki.phpの処理時間は0.043秒でした。これは何度も実行して、処理速度が速かったときの平均値です。共用サーバだけあって、速いときと遅いときの差が激しく、処理時間が0.2秒を越えることもありました。したがって、処理の平均時間で言えばもっともっと遅くなります。多数のユーザで使う共用サーバならではの悩みです。


2.さくらインターネットの専用サーバ
続いて、約5年前から借りている、さくらインターネットの専用サーバ。CPUは、Athron64+です。
HTML convert time: 0.014 sec.
float(0.018)
HTML convert timeは0.014秒、pukiwiki.phpの処理時間は0.018秒でした。このサーバーには、PHP用アクセラレータであるXCacheをインストールしてあるため、さすがに処理速度は共用サーバよりも速い結果となりました。


3.さくらのマネージドサーバCore 2 Duoプラン(PHP4 CGIモード)
次は今回お借りした、さくらのマネージドサーバCore 2 Duoプランのサーバです。このサーバは、コントロールパネルからPHPのバージョンおよびCGIモードかPHPモジュールモードかを選択することができます。まずは、サポートが終了しているPHP4のCGIモードから。
HTML convert time: 0.015 sec.
float(0.032)
HTML convert timeは0.015秒、pukiwiki.phpの処理時間は0.032秒でした。このサーバでは、他に動かしているプログラムがないため、常に同じような処理時間となりました。さすがはサーバ一台丸ごと使えるだけあります。他のユーザの影響を全く受けません。


4. さくらのマネージドサーバCore 2 Duoプラン(PHP5 CGIモード)
続いて、PHP5のCGIモードに切り替えて実行。
HTML convert time: 0.013 sec.
float(0.029)
HTML convert timeは0.013秒、pukiwiki.phpの処理時間は0.029秒でした。PHP5の方が明らかに処理速度が速かったです。PHP4はすでにサポートが終了しているため、安全性の面でも処理速度の面でもPHP4を選ぶ必要はありません。


5. さくらのマネージドサーバCore 2 Duoプラン(PHP5 モジュールモード)
次は、PHP5のモジュールモードに切り替えて実行です。
HTML convert time: 0.013 sec.
float(0.028)
HTML convert timeは0.013秒、pukiwiki.phpの処理時間は0.028秒でした。CGIモードからモジュールモードに切り替えても、思ったよりも速くなりませんでした。上の専用サーバと比較してみると、さくらのマネージドサーバCore 2 Duoプランの方が50%以上も処理速度が遅いことがわかりました。これだと、専用サーバから乗換えるにしては、少し処理速度が物足りないかもしれません。


6. さくらのマネージドサーバCore 2 Duoプラン(PHP5 モジュールモード eAccelerator)
そしていよいよ、PHP5のモジュールモードにeAcceleratorをインストールしての実行です。
HTML convert time: 0.009 sec.
float(0.012)
HTML convert timeは0.009秒、pukiwiki.phpの処理時間はなんと0.012秒でした!eAcceleratorをインストールすると、明らかに処理速度が速くなりました。インストール前が0.028秒でインストール後が0.012秒ですから、2倍以上速くなっています。と言っても、これは処理が速かった場合の場合の平均値です。eAcceleratorをインストールした場合は、他にプログラムが動いていないにも関わらず、処理速度に多少ばらつきが出ました。遅いときは0.018秒くらいです。それでも、eAcceleratorインストール前から比べれば平均で2倍近い速度が出ていました。専用サーバと比べても、さくらのマネージドサーバCore 2 Duoプランの方が明らかに処理速度が速い結果となりました。

専用サーバを借りたのが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プランの強みだと思います。高性能なレンタルサーバを求めている人がいたら、ぜひオススメしたいプランです。