作業記録メモ

Linuxサーバー立ち上げ設定等のメモ(忘れないための作業記録)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。




サーバ処理のレスポンスアップ(eaccelerator)

サーバ処理(PHP)を高速化する方法

eacceleratorを利用することで、PHPの実行の際に、ソースコードを中間コードに変換し、キャッシュに保管してくれるようになる
なので、次の起動時には、キャッシュから中間コードを読み取り処理が行われるので、繰り返し同じ処理が動作するサーバーでは、処理量が軽減され、結果としてレスポンスのアップが図れる

以下は導入までの手順です(ubuntu8.10で実行)


ソース入手
http://eaccelerator.net/ から最新ソースを入手しておく(記載時点ではRelease-0.9.5.3)


インストール時に必要となるパッケージを導入しておく(aptitudeで準備)
php5-dev
build-essential
re2c


解凍&コンパイル&インストール

tar xjf eaccelerator-0.9.5.3.tar.bz2
cd eaccelerator-0.9.5.3
phpize
./configure --enable-eaccelerator=shared
make
sudo make install



キャッシュ用のフォルダ作成

sudo mkdir /home/php
sudo mkdir /home/php/eaccelerator



php.iniの変更(cliからやってみる)
※cli環境がなければ、ここはスキップするか、cliのパッケージを追加してやってみてください
sudo nano /etc/php5/cli/php.ini

[eaccelerator]
zend_extension="/(ライブラリの場所)/eaccelerator.so"
eaccelerator.shm_size = "16"  #キャッシュのサイズ、16Mもあれば十分かな?
eaccelerator.cache_dir = "/home/php/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"



動作確認
php -v

PHP 5.2.6-2ubuntu4.2 with Suhosin-Patch 0.9.6.2 (cli) (built: Apr 17 2009 14:44:11)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccelerator




php.iniの変更(apache2)
sudo nano /etc/php5/apache2/php.ini

[eaccelerator]
zend_extension="/(ライブラリの場所)/eaccelerator.so"
eaccelerator.shm_size = "16"  #キャッシュのサイズ、16Mもあれば十分かな?
eaccelerator.cache_dir = "/home/php/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"
### 基本はCLIと一緒で以下を追加 ###
eaccelerator.allowed_admin_path = "/(公開ディレクトリ)/control.php"  *このソースのID、PWを変更しておくこと


効果の程は???

後日検証してみたいと思います。。。



スポンサーサイト

テーマ:UNIX/Linux - ジャンル:コンピュータ

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。