eAcceleratorをインストールしてPHPを高速化する

eAcceleratorはPHPをコンパイルしたものをキャッシュして動作を高速化させるPHPの拡張機能。コンパイルされたPHPスクリプトを共有メモリにおいて実行する。共有メモリは実行時にロックされ一度にひとつのPHPのみ実行する。共有メモリにおけないものはディスクにおかれる。PHP4とPHP5で利用できる。

ここではVineのPHP5.2.6に対してeAccelerator0.9.5.3をソースコードからインストールする。

# apt-get install php5-devel
$ wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
$ tar xfvj eaccelerator-0.9.5.3.tar.bz2
$ cd eaccelerator-0.9.5.3
$ phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
$ ./configure
$ make
# make install

成功すればPHPのextension_dirにeaccelerator.soがコピーされる。

$ php -i | grep extension_dir
extension_dir => /usr/lib/php5 => /usr/lib/php5
$ ls /usr/lib/php5
bin/ build/ eaccelerator.so* mysql.so* mysqli.so* pdo.so* pdo_mysql.so* pdo_sqlite.so*
$

PHPの設定ファイルを編集(作成)する。ここでは/etc/php5/php.d/eaccelerator.iniを作成して以下を追加した。

extension="eaccelerator.so"
eaccelerator.shm_size="16"
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"

iniの詳しい説明はここを参照。

上で定義したcache_dirを作成する。

$ mkdir /tmp/eaccelerator
$ chmod 0777 /tmp/eaccelerator/

Apacheを再起動してphpinfo()を表示。eAcceleratorの記述があるか確認する。

関連記事:
MySQLTunerを使ってMySQLを速くする

Leave a Reply

Your email address will not be published. Required fields are marked *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)