Memo/PHP/eAccelerator

https://dexlab.net:443/pukiwiki/index.php?Memo/PHP/eAccelerator
 

Memo/PHP

eAcceleratorで高速化

特徴

PHP Acceleratorと同じようなPHPスクリプトをキャッシュし高速化するソフト。
Fedora Core 1ではPHP Acceleratorが正常動作しなかったので試してみる。

  • TurckMMCacheの後継
  • オープンソース
  • スクリプトのキャッシュ
  • エンコード(暗号化)
  • キャッシュ状況をブラウザから確認できる

インストール

  • 2014-03-17 epelリポジトリに v0.9.5.2があるため簡単にインストール可能
    sudo yum install php-eaccelerator --enablerepo=epel
    sudo /sbin/service httpd restart
  • 2007-02-19 0.9.5 で管理用cgi(control.php) のパスの設定が追加された。
  • 2005-08-18 0.9.3 finalになっていたので加筆。
    適当なディレクトリにソースを取得し、展開。
    $ wget http://jaist.dl.sourceforge.net/sourceforge/eaccelerator/eaccelerator-0.9.3.tar.gz
    $ tar xzf eaccelerator-0.9.3.tar.gz
    $ cd eaccelerator-0.9.3
    $ /usr/bin/phpize
    $ ./configure --enable-eaccelerator=shared --with-php-config=/usr/bin/php-config
    $ make
    $ su
    # make install
    # mkdir /tmp/eaccelerator
    # chown apache:apache /tmp/eaccelerator
    # chmod 700 /tmp/eaccelerator
    
    # vi /etc/php.ini
    --------------------------------------
    [eAccelerator]
    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"
    ; The script paths that are allowed to get admin information and do admin
    ; controls eaccelerator.allowed_admin_path = "/home/halt/public_html/admin"
    --------------------------------------
    # service httpd restart

動作確認

webから。
phpinfo.php 等適当なファイルを作る。

<? phpinfo(); ?>

動作状況

  • 0.9.5
    付属の「control.php」をブラウザから見る。設定で「eaccelerator.allowed_admin_path=」を指定しておかないと動作しないので注意。
  • 0.9.4以下
    付属の「eaccelerator.php」をブラウザから見ると、キャッシュのヒット率等の情報が表示される。

ベンチマーク

Memo/PHP/ベンチマークの結果
以下の結果から10倍以上高速化された事がわかる。

状況経過(s)
未インストール10.122039079666
インストール後1回目2.8955190181732
インストール後2回目0.95366311073303

暗号化(エンコード)

付属のencoder.phpを使用する。
エンコードされたphpはeAcceleratorが導入されているシステムで普通に実行できる。
また、キャッシュもされる。

php -q encoder.php some_file.php
php -q encoder.php some_file.php -o some_encoded_file.php
php -q encoder.php *.php -o some_dir
php -q encoder.php ~/public_html/x -rcf -sphp -sinc -o ~/public_html/y

バグ

関連リンク


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-09-15 (土) 07:31:38 (9d)