php加速バッファopcache,apc,xcache,eAcceleratorの原理と構成方法の例の分析

4454 ワード

この例ではphp加速バッファopcache,apc,xcache,eAcceleratorの原理と構成方法について述べた.皆さんの参考にしてください.具体的には以下の通りです.
一、opcache
opcacheは、PHPスクリプトのプリコンパイルされたバイトコードを共有メモリに格納することでPHPのパフォーマンスを向上させ、プリコンパイルされたバイトコードを格納するメリットは、PHPスクリプトのロードと解析のたびにオーバーヘッドを省くことです.
PHP 5.5.0以降のバージョンではopcache拡張子がバインドされています.PHP 5.2、5.3および5.4のバージョンでは、PECL拡張のopcacheライブラリを使用できます.
Windowsのphp拡張ダウンロードアドレス:
http://windows.php.net/downloads/pecl/releases/
phpを開きます.iniファイル、[opcache]を見つけます

; dll  
extension=php_opcache.dll
;     
opcache.enable=1
;   CLI
opcache.enable_cli=1
;     ,     ,    :Mb
opcache.memory_consumption=128
; Zend Optimizer +              .(  :MB)
opcache.interned_strings_buffer=8
;         ,       100%   ,          
opcache.max_accelerated_files=10000
; opcache                  ,            ,     2, (  : )
opcache.revalidate_freq=1
;       ,      PHP Request Shutdown             
opcache.fast_shutdown=1

二、APC
Alternative PHP Cache(APC)は、オープンフリーのPHP opcodeキャッシュです.その目標は、PHPの中間コードをキャッシュおよび最適化するための自由で開放的で健全なフレームワークを提供することである.
apc拡張dllをダウンロードし、対応するPHPバージョンを選択
http://windows.php.net/downloads/pecl/releases/apc/
ダウンロードしたphpをapc.dllはphpのext拡張ディレクトリの下に入れます.
phpを開きます.iniファイル、次のように構成されています.

[apc]
extension=php_apc.dll
apc.enabled=1
;         
apc.shm_segments=1
;         (  :MB)
apc.shm_size=64
;     ,             
apc.optimization=1
;       ,      0
apc.num_files_hint=0
;                 
apc.ttl=7200
;                       
apc.user_ttl=7200
;                   
apc.gc_ttl=7200
;     
apc.write_lock=on

三、xcache
xcacheはオープンソースのopcodeバッファ/オプティマイザです.
xcacheをダウンロードし、PHPバージョンに対応するxcacheを選択
http://xcache.lighttpd.net/pub/Releases/
php_をxcache.dllはphpのextディレクトリの下に配置されます.
phpを開きます.iniは、次のように構成されています.

[xcache-common]
extension = php_xcache.dll
[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = "admin"
xcache.admin.pass = "md5     "
[xcache]
;             
xcache.shm_scheme = "mmap"
xcache.size = 128M
;    CPU 
xcache.count = 1
;       
xcache.slots = 8K
;     
xcache.ttl = 1200
;          
xcache.gc_interval = 1200
;   ,        
xcache.var_size = 4M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 1200
 
;         
xcache.var_maxttl = 7200
xcache.var_gc_interval = 1200
xcache.var_namespace_mode = 0
xcache.var_namespace = ""
xcache.readonly_protection = Off
;   win  ,        
xcache.mmap_path = "xcache"
xcache.coredump_directory = ""
xcache.coredump_type = 0
xcache.disable_on_crash = Off
xcache.experimental = Off
xcache.cacher = On
xcache.stat = On
xcache.optimizer = Off
[xcache.coverager]
xcache.coverager = Off
xcache.coverager_autostart = On
xcache.coveragedump_directory = ""


四、eAccelerator
eAcceleratorは自由オープンソースphpアクセラレータであり、最適化と動的コンテンツキャッシュによりphpスクリプトのキャッシュ性能が向上し、PHPスクリプトがコンパイルされた状態でサーバへのオーバーヘッドがほぼ完全に解消される.また、スクリプトを最適化して実行効率を向上させることもできます.
eAcceleratorのダウンロード
http://www.sitebuddy.com/PHP/Accelerators/eAccelerator_windows_binaries_builds
ダウンロードしたeAcceleratorをts.dllはphpのextディレクトリの下に配置されます.phpを開きます.iniは、次のように構成されています.

[eAccelerator]
extension="eAccelerator_ts.dll"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="      "
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.log_file = "      "
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"


PHPに関する詳細について興味のある読者は、「phpキャッシュ技術総括」、「phpオブジェクト向けプログラム設計入門教程」、「PHP基本文法入門教程」、「PHP配列(Array)操作技術大全」、「php文字列(string)用法総括」、「php+mysqlデータベース操作入門チュートリアル」および「php一般データベース操作テクニック要約」
ここで述べたことが皆さんのPHPプログラム設計に役立つことを願っています.