eAccelerator をインストールする

提供:maruko2 Note.
移動: 案内, 検索

http://eaccelerator.net/wiki/Settings

目次

ソースコード

http://bart.eaccelerator.net/source/

インストール

$ phpize
$ ./configure \
    --enable-eaccelerator=shared \
    --with-eaccelerator-shared-memory \
    --with-eaccelerator-sessions \
    --with-eaccelerator-content-caching \
    --with-php-config=/opt/local/bin/php-config \
    --with-eaccelerator-userid=www
$ make && make install

設定

/etc/php.ini に追記する。

extension_dir = "/opt/local/lib/php/extensions/no-debug-non-zts-20060613/"
[eAccelerator]
extension="eaccelerator.so"
eaccelerator.shm_size="32"
eaccelerator.cache_dir="/var/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.allowed_admin_path="/opt/www/eaccelerator"
eaccelerator.shm_size
eAccelerator の共有メモリサイズ(MB)
デフォルトは "0"
eaccelerator.cache_dir
ディスクキャッシュ用のディレクトリ
デフォルトは "/tmp/eaccelerator"
eaccelerator.enable
eAccelerator を有効にするか無効にするか
"1" は有効、"0" は無効。デフォルトは "1"
eaccelerator.optimizer
実行速度を上げるオプティマイザを有効にするか無効にするか
"1" は有効、"0" は無効。デフォルトは "1"
eaccelerator.debug
デバッグログを有効にするか無効にするか
"1" は有効、"0" は無効。デフォルトは "0"
eaccelerator.check_mtime
PHP ファイルに更新があるかチェックする
"1" は有効、"0" は無効。デフォルトは "1"
PHP ファイルを更新した後に自動で再コンパイルさせるには "1" をセットしておく
eaccelerator.filter
どのような PHP ファイルをキャッシュするか指定する
キャッシュするかしないかを "*.php" "*.phtml" のようなパターンで指定する
"!" で始まるパターンのファイルはキャッシュしない
デフォルトは "" で、すべての PHP スクリプトをキャッシュする
eaccelerator.shm_max
共有メモリにキャッシュする最大サイズ
バイト(10240, 10K, 1M)で指定する
"0" は無制限。デフォルトは "0"
eaccelerator.shm_ttl
共有メモリを取得できない(メモリが一杯の)時、"shm_ttl" 秒以上アクセスの無いスクリプトを削除する。
デフォルトは "0" で、共有メモリからスクリプトを削除しない
eaccelerator.shm_prune_period
共有メモリを取得できない(メモリが一杯の)時、前回の取得が "shm_prune_period" 秒前であれば古いスクリプトを削除する
デフォルトは "0" で、共有メモリからスクリプトを削除しない
eaccelerator.shm_only
ディスクにスクリプトをキャッシュするかどうか(共有メモリのみにキャッシュするか)
デフォルトは "0" で、ディスクと共有メモリにキャッシュする
eaccelerator.compress
キャッシュファイルを圧縮するかどうか
デフォルトは "1" で圧縮を有効にする
eaccelerator.compress_level
圧縮レベル
デフォルトは最高圧縮の "9"
eaccelerator.name_space
eaccelerator.keys
eaccelerator.sessions
eaccelerator.content
key, session, content をどこにキャッシュするか
"shm_and_disk" 共有メモリとディスクにキャッシュする(デフォルト)
"shm" 共有メモリにキャッシュし、共有メモリが一杯か "eaccelerator.shm_max" より大きなデータはディスクにキャッシュする
"shm_only" 共有メモリにキャッシュする
"disk_only" ディスクにキャッシュする
"none" キャッシュしない
eaccelerator.allowed_admin_path
管理用 Web インターフェース(control.php)を置くディレクトリ

Linux の共有メモリ設定

Linux で eaccelerator.shm_size の値を増やすと、apache に以下のようなエラーが出ることがある。

Could not allocate 50331648 bytes, the maximum size the kernel allows is 33554432 bytes.
Lower the amount of memory request or increase the limit in /proc/sys/kernel/shmmax.

このエラーは、Linux の共有メモリ設定が 32MB (33554432 bytes) になっているのに、eAccelerator でそれ以上のメモリを割り当てようとするために起きる。

eaccelerator.shm_size の値を増やす前に、Linux の共有メモリを増やすことで解決する。[1]

Linux の共有メモリ設定値は /proc/sys/kernel/shmmax に書かれているので、数値を編集する。編集後すぐに有効になる。

一時的に有効にするには、/proc/sys/kernel/shmmax の数値を書き換える。

echo 67108864 > /proc/sys/kernel/shmmax

OS 再起動後も有効にするには /etc/sysctl.conf に下記行を追加する。

kernel.shmmax = 67108864

管理用 Web インターフェース (eAccelerator control panel)

eAcceleratorコントロールパネル
Clear cache
使用していないスクリプトとデータを、共有メモリとディスクキャッシュから削除する。
eaccelerator.admin_allowed_path で指定した eAccelerator control panel からのみ実行できる。
Clean cache
期限切れのスクリプトとデータを、共有メモリとディスクキャッシュから削除する。
eaccelerator.admin_allowed_path で指定した eAccelerator control panel からのみ実行できる。
Purge cache
削除対象のスクリプトを削除する。共有メモリが必要なときに自動的に削除する?
eaccelerator.admin_allowed_path で指定した eAccelerator control panel からのみ実行できる。

この管理用 Web インターフェースを見ながら、使用するメモリの割当数を決める。

脚注

  1. Faq – eAccelerator (eaccelerator.net)
LINEで送る このエントリーをはてなブックマークに追加
個人用ツール
名前空間
変種
表示
操作
案内
ツールボックス

注目のページ

このサイトのはてなブックマーク数