PHP4の時は、PHPの実行速度UPのために、PHP Acceleratorをインストールしていましたが、PHP4からPHP5にアップデートに伴い、PHPAは使えなくなりました。
代わりにZend Optimizerをインストールをしましたので、それで十分だと思いましたが…

全然十分ではありませんでした。

PHP5.1+Zend Optimizer3の環境よりも
PHP4.3+PHP Acceleratorの方が

数倍速く動いていました。
つまりはPHP5.1に移行後は、今までよりも数倍遅くなってしまっていたということです。
簡単なPHPスクリプトならそれでも問題はありませんが、SmartyやMySQLを使うOpenPNEのゲーマーSNSでは致命的な遅さでした。

まずは、MySQLの設定を見直そうと、/etc/my.confを編集してバッファを増やしたりしてみましたが、動作スピードは変わりませんでした。
そこで、PHP5には対応していないPHPAに代わり、eacceleratorを導入してみることにしました。 以下、eacceleratorのインストールメモです。

管理者権限でサーバーへログイン
ダウンロードディレクトリへ移動
cd /usr/local/lib

eacceleratorファイルダウンロード
wget http://nchc.dl.sourceforge.net/sourceforge/eaccelerator/eaccelerator-0.9.5-beta2.tar.bz2

解凍
tar zxvf eaccelerator-0.9.5-beta2.tar.bz2
gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error exit delayed from previous errors
エラーが表示されたので、圧縮し直して再解凍
bunzip2 eaccelerator-0.9.5-beta2.tar.bz2 gzip eaccelerator-0.9.5-beta2.tar
tar zxvf eaccelerator-0.9.5-beta2.tar.gz

移動
cd eaccelerator-0.9.5-beta2
configure設定 /usr/local/php5/bin/phpize
Configuring for: PHP Api Version: 20041225 Zend Module Api No: 20050922 Zend Extension Api No: 220051025
./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php5/bin/php-config

makeとinstall
make
make install
Installing shared extensions: /usr/local/php5/lib/php/extensions/no-debug-non-zts-20050922/
control.php移動
mv control.php /公開ディレクトリ/
ユーザー、パスワード設定(control.phpの$user、$pwを編集)
vi /公開ディレクトリ/control.php
$user = "admin";
$pw = "eAccelerator";
キャッシュディレクトリ作成
mkdir /tmp/eaccelerator
書き込み権限設定 chown apache:apache /tmp/eaccelerator/
php.ini設定
vi /usr/local/php5/php.ini
Zend Optimizerオプションより前に以下を記述
(eaccelerator.shm_sizeは、稼働後にcontrol.phpを確認しながら最適な値に変更する)
zend_extension = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20050922/eaccelerator.so"
eaccelerator.shm_size = "64"
eaccelerator.cache_dir = "/tmp/eaccelerator"
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"
eaccelerator.compress = "1"
eaccelerator.compress_level = "9"
eaccelerator.keys = "shm_and_disk"
eaccelerator.sessions = "shm_and_disk"
eaccelerator.content = "shm_and_disk"
apache再起動
service httpd restart

以上でインストールは終了。


control.phpにアクセスすると、キャッシュ状況の確認ができます。
eacceleratorインストール後に、実際にPHPスクリプトにアクセスしてみた結果…

今までよりも数倍速くなりました。

これで安心して、ゲーマーSNSにアクセスすることができると思います。