- 投稿日2009-10-06 (火)
- 更新日2010-02-24 (水) 17:49
- Linuxソフト
PHPアクセラレーター、PHPスクリプトが実行された際の途中のコンパイルデータをキャッシュすることで、
以後同じファイルに対してアクセスがあった時に、そのキャッシュファイルを利用することで高速化するという技術です。
高速化もありますが、なによりコンパイルデータをキャッシュしそれを利用する事でCPUの負荷対策にならないかと考えました。
今回はeAcceleratorをインストールしてみましたのでその備忘録です。
eAcceleratorのインストール
ダウンロード、解凍、フォルダ移動
/usr/local/src
wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
tar jxvf eaccelerator-0.9.5.3.tar.bz2
cd eaccelerator-0.9.5.3
phpizeを実行してコンパイル準備をします。
しかし、人それぞれパスが違う為、locate等を使ってファイルパスを確認してください。
/usr/local/bin/phpize
ここでこんなエラーが
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF
environment variable is set correctly and then rerun this script.
autoconfがないと怒られてますのでapt-get install autoconf
でautoconfをインストールしてから再度実行すると成功次にconfigureですが、オプションを指定するので
locate php-configなどでphp-configのパスを確認してください
./configure --enable-eaccelerator=shared --with-php-config=/usr/local/bin/php-config
make
make install
最後に表示される
Installing shared extensions: /usr/local/lib/php/extensions/○○
のパスをメモっておいて下さい。eAcceleratorの初期設定
次に管理ファイルをブラウザで見れる任意の位置にコピー。cp control.php /usr/local/apache2/htdocs/
で、ログインのパスワード等を設定
vi /usr/local/apache2/htdocs/control.php
キャッシュされたデータを保存しておく場所を作成
mkdir /dev/shm/eaccelerator/
今回はキャッシュ領域で爆速!だけど再起動したら消えちゃう領域(/dev/shm/)を指定してみました。
php.infoなどで確認できるConfiguration File (php.ini) Pathの場所を確認
php.iniがある場合は以下を追記。
ない場合はphp.iniというファイルを作成して、以下を追記して下さい。
[eAccelerator]
zend_extension = "/usr/local/lib/php/extensions/○○/eaccelerator.so"
eaccelerator.shm_size = "64"
eaccelerator.cache_dir = "/dev/shm/eaccelerator/"
eaccelerator.allowed_admin_path = "/home/xxx/public_html/control.php"
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"
これらの設定項目に対する詳しい解説は
PHP:eAccelerator で PHP 高速化
を参考にさせていただいたので参照してみて下さい。
以上の設定が完了したら Apacheを再起動させます。
phpinfo等でeacceleratorの項目が追加されていたり、
サイトにアクセスしてみて、キャッシュとして指定したフォルダにファイルが生成されていっていれば
導入は成功です。
eAcceleratorの効果!
こんな事を言ってしまえばアレですが、体感速度もCPU負荷も
あまり目にみえてよい結果があったという事はありませんでした・・・。
まだ全部キャッシュされていないからかもしれませんが。
さきほどの参考にさせていただいたサイトには
「アプリケーション本来の仕事に時間がかかってる場合はさほど効果が得られない」
といった事がかかれていたので、
そういった原因かもしれません。
以上、備忘録でした。
コメント:0
トラックバック:1
- この記事のトラックバックURL
- http://www.ahref.org/tech/server/linuxsoft/405.html/trackback
- この記事へのリンク
- エーエイチレフ linuxサーバー技術情報 からの記事 PHPアクセラレーターのeAcceleratorを導入してCPU負荷軽減を図る。
- trackback from MHP@kai 11-09-19 (月) 15:55
-
CentOS6-PHPのインストール〜設定方法 -日記篇-
Apacheもできたので、
皆大好きPythonのインストール…と行きたいのですが、
私はSphinxのdiag系で少しPythonを触ったくらいで、
素人さんなので素直にPHPをインストールします(´・ω・`)
P…















関連記事