PHP アクセラレーションの eAccelerator、Caching に関しては、私が知っていた php5.2.x は Zend Optimizer のみを使用しており、暗号化された php プログラムは Zend Optimizer でのみ実行できるため、唖然としました。ただし、Zend Optimizer は php5.3.x 以降をサポートできず、ましてや eAccelerator、XPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について、APC もサポートできません。 Zend ガードローダーは php5.3.x 以降と最新の php5.5.x バージョンをサポートしており、公式 Web サイトには Zend ガードが組み込まれているため、phper はアクセラレータを意識する必要はないと記載されています。このような問題に遭遇したので、ネット民はそれを読むだけで済み、テストする必要はありません。
どれをインストールすればよいですか?パフォーマンスにどのような影響がありますか?時間をかけてテストしてみましょう。
他の場所から表示されました。
プログラム環境が Zend Optimizer を必要としない場合は、pecl-APC が推奨されます (Zend Optimizer と互換性がありません)。
概要:1. pecl-APC は、優れた互換性とパフォーマンスを備えた PHP バッファリング (高速化) の第一の選択肢です。
2. PHP 環境で Zend Optimizer が必要な場合は、eAccelerator をインストールし、Zend Optimizer の圧縮レベルを 0 に調整します。
zend オプティマイザーは、PHP コードを調整できるコード最適化モジュールです。実装の原理は、ランタイム コンパイラー (Run-Time Compiler) によって生成されたコードを、最終的に実行される前に最適化することです。コードのパフォーマンスは 40% から 100% 向上する可能性があります。この観点から見ると、強力なキャッシュ機能は必要ありません。ソース コードを読んでいないので、キャッシュがあるかどうか、キャッシュが何であるかはわかりません。品質は。
eAccelerator は、コンパイルされた PHP コードを共有メモリにキャッシュするモジュールです。共有メモリにアクセスすることで、コンパイルされたコードを直接取得して実行できるため、PHPの実行効率が大幅に向上します。同時に、eAccelerator はデータをファイルにキャッシュすることもできます。この部分はファイルに対する操作であるため、ほとんどのファイル キャッシュの原理とパフォーマンスは同様であると思います。
APC は原理的には eAccelerator と似ているため、大きな違いはありません。パラメータを変更して詳細なテストを行わないと、両者の長所と短所はわかりません。それで、一つだけ選んでください。
3 つの無料 PHP アクセラレータの比較: APC、eAccelerator、XCache
1. PHP アクセラレータの概要
PHP アクセラレータは、PHP の実行効率を向上させるために PHP オペコードをキャッシュし、後で PHP が解析および変換する必要がないようにするプログラムです。 PHP オペコードを直接呼び出すことができるため、速度が大幅に向上します。
Apache で mod_php を使用したリクエストとレスポンスの実行プロセス:
1. Apache がリクエストを受信します。
2. Apache はリクエストを mod_php に渡します。3. mod_php はディスク ファイルを見つけてメモリにロードします。
4. mod_php はソースコードをオペコードツリーにコンパイルします。
5. mod_php はオペコード ツリーを実行します。
PHP アクセラレータは 4 番目のステップに相当します。その目的は、トラフィックの多い Web サイトでは、多くの場合、コンパイルがそれほど速く実行されないため、PHP がリクエストごとに PHP コードを繰り返しコンパイルすることを防ぐことです。したがって、ここにはボトルネックがあり、PHP のコンパイルを繰り返すと速度とサーバー負荷の両方に影響が出るということです。この問題を解決するために、PHP アクセラレータが誕生しました。
1. APC のインストールと構成
APC の正式名は Alternative です。 PHP Cache、公式 翻訳は「Optional PHP Cache」と呼ばれ、PHP PECL の拡張機能で Facebook が使用しているようです。 以下からインストールを開始します (ubuntu 環境):
$wget http://pecl. php.net/get/APC-3.0.19.tgz$tar xvzf APC-3.0.19.tgz
$cd APC-3.0.19/APC-3.0.19
$/usr/local /php/bin/phpize
$./configure –enable-apc –enable-apc-mmap –with-php-config=/usr/local/php/bin/php-config
$make
$sudo make install
次に、PECL 拡張パスが変更されたため、コンパイルされたファイルを移動する必要があります:
次に、設定用に php.ini ファイルを編集します。次のコードを追加してください。 php .ini:
extension = apc.so
; APC
apc.enabled = 1
apc .shm_segments = 1
apc.shm_size = 64
apc.optimization = 1
apc.num_files_hint = 0
apc.ttl = 0
apc.gc_ttl = 3600
apc .PHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について_by_default = on
こうすることで、phpinfo()の情報にApacheの再起動が表示されるようになります。
eAccelerator の前身は、実際には、truk-mmPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について です。 truk-mmPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について の開発者は Zend に採用されたため、eAccelerator の開発者は、truk-mmPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について の機能の一部を継承して、eAccelerator アクセラレータを設計しました。次のようにインストールします: 次のコードを php.ini ファイルに追加します キャッシュ ディレクトリを作成し、Apache を再起動します $sudo mkdir /tmp/ eaccelerator phpinfo() でインストールが成功したか確認します。 3 . XCache をインストールして設定する XCache は、初心者の私でも、速度とパフォーマンスの点で非常に優れていると自負しています。さっそく味わってみましょう! $wget http://xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.lighttpd.net/pub/Releases/1.2.2/xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について-1.2.2.tar.gz php.ini に構成情報を追加します: extension = xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.so xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.var_count = 1 $sudo chmod 777 /tmp/xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について ドキュメントの長さ: 21757 バイト ドキュメント パス: / eAccelerator加速器: ドキュメント パス: / XCache 加速器: ドキュメント パス: / 3、结果摘要 四、PHP加速器比较结果总结 1、リクエスト時間での eAccelerator の取得と内部メモリ占有の組み合わせの点で最適です。 3、各当局の見解によると、XCache は最も新しく更新されており、これは最新の進歩であることを示しています。我只能告轠,首先,用一定比不用好,其次各加速器にも还可调优的パラメータ,故に你的システム環境而定,然后,我个人觉得你可详细研究下eAcceleratorおよび XCache、この両款潜力も很大、最終我从比较业的测试网站搞了一张结果图: 翻訳链址:http ://www.vpser.net/opt/apc-eaccelerator-xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.html
$wget http://jaist.dl.sourceforge.net/sourceforge/eaccelerator/eaccelerator-0.9.5.tar.bz2
$tar -jxf eaccelerator-0.9.5.tar.bz2
$cd eaccelerator-0.9.5
$/usr/local/php/bin/phpize
$./configure –enable-eaccelerator=shared –with-php-config=/usr/local/php / bin/php-config
$make
$sudo make install
$sudo mv /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so /usr/local/php/lib/php/extensions/PECL
extension = eaccelerator.so
; eAccelerator
eaccelerator.shm_size = "16 "
eaccelerator.PHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について_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.prune_period = "0"
eaccelerator。 shm_only = "0"
eaccelerator.compress = "1"
eaccelerator.compress_level = "9"
$sudo chmod 777 /tmp/eaccelerator
$sudo /usr/local/apache/apachectl restart
$tar xvzf xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について-1.2.2.tar.gz
$cd xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について-1.2.2
$/usr/local/php/bin/phpize
$./configure –enable-xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について –enable-xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について-coverager –with-php-config=/usr /local/php/php-config
$make
$sudo make install
$sudo mv /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について .so /usr/local/php/lib/php/extensions/PECL
; .admin.user = "admin"
xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.admin.pass = "(実行) echo '(パスワード)'|md5sum(結果の暗号文)"
;
xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.size = 24M
xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.shm_scheme = "mmap"
xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.count = 2
xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.slots = 8k
xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.ttl = 0
xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.gc_interval = 0
xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.var_slots = 8k
xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.var_ttl = 0
xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.var_maxttl = 0
xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.var_gc_interval = 300
xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.test = Off
xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.readonly_protection = オン
xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.mmap_path = "/tmp/xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について"
xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.coredump_directory = ""
xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.PHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer についてr = オン
xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.stat = オン
xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について。 optimizer = Off
;
xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.coverager = On
xPHP ステップアップ eAccelerator、Xcache、APC、および Zend Optimizer について.coveragedump_directory = ""
$sudo /usr/local/apache/bin/apachectl restart
同時実行レベル: 5
テストにかかった時間: 288.255212 秒
完了したリクエスト: 3000
失敗したリクエスト: 0
書き込みエラー: 0
合計転送数: 66777000 バイト
転送された HTML: 65271000 バイト
1 秒あたりのリクエスト数: 10.41 [#/sec] (平均)
リクエストあたりの時間: 480.425 [ms] (平均)
リクエストあたりの時間: 96.085 [ ms] (すべての同時リクエストの平均値)
転送速度: 226.23 [Kbytes/sec] 受信
接続時間 (ミリ秒)
最小平均[ /-sd] 中央値最大
接続: 0 0 0.5 0 19
処理中: 181 479 186.0 444 1822
待機中: 166 461 184.7 427 1708
合計: 181 479 186.0 444 1822
一定時間内に処理されたリクエストの割合 ( ms)
50% 444
66% 525
75% 577
80% 619
90% 732
95% 819
98% 946
99% 1012
100 % 1822 (最長リクエスト)
ドキュメントの長さ: 21757 バイト
同時実行レベル: 5
テストにかかった時間: 98.530068 秒
完了したリクエスト: 3000
失敗したリクエスト: 0
書き込みエラー: 0
合計転送数: 66777000 バイト
転送された HTML: 65271000 バイト
1 秒あたりのリクエスト数: 30.45 [#/秒] (平均)
リクエストあたりの時間: 164.217 [ms] (平均)
リクエストあたりの時間: 32.843 [ms] (すべての同時リクエストの平均)
転送速度: 661.84 [Kbytes/sec] 受信
接続時間 (ms)
最小平均[ /-sd] 中央値max
接続: 0 0 0.0 0 2
処理中: 58 163 71.2 155 2452
待機中: 53 158 69.6 150 2329
合計: 58 163 71.2 155 2452
リクエストは以内に処理されます一定時間 (ミリ秒)
50% 155
66% 178
75% 193
80% 204
90% 235
95% 258
98% 285
99% 302
100% 2452 (最長リクエスト)
ドキュメントの長さ: 21757 バイト
同時実行レベル: 5
テストにかかった時間: 95.983986 秒
完了したリクエスト: 3000
失敗したリクエスト: 0
書き込みエラー: 0
合計転送数: 66777000 バイト
転送された HTML: 65271000 バイト
リクエストあたり秒: 31.26 [#/秒] (平均)
リクエストあたりの時間: 159.973 [ミリ秒] (平均)
リクエストあたりの時間: 31.995 [ミリ秒] (すべての同時リクエストの平均)
転送速度: 679.39 [Kbytes/sec] 受信
接続時間 (ミリ秒)
最小平均[ /-sd] 中央値最大
接続: 0 0 0.1 0 3
処理: 57 159 91.3 148 3830
待機中: 50 152 89.8 142 3704
合計: 57 159 91.3 148 3830
一定時間 (ミリ秒) 内に処理されたリクエストの割合
50% 148
66% 174
75% 193
80% 205
90% 239
95% 263
98% 289
99% 309
100% 3830 (最長リクエスト)
ドキュメントの長さ: 21757 バイト
同時実行レベル: 5
テストにかかった時間: 99.76300 秒
完了したリクエスト: 3000
失敗したリクエスト: 0
書き込みエラー: 0
合計転送数: 66777000 バイト
HTML 転送: 65271000 バイト
1 秒あたりのリクエスト数: 30.28 [#/秒] (平均)
リクエストあたりの時間: 165.127 [ms] (平均) )
リクエストあたりの時間: 33.025 [ms] (すべての同時リクエストの平均)
転送速度: 658.19 [Kbytes/sec] 受信
接続時間 (ミリ秒)
分平均[ /-sd ] 最大中央値
接続: 0 0 0.0 0 2
処理中: 59 164 83.4 155 3367
待機中: 52 156 66.4 148 1802
合計: 59 164 83.4 155
リクエストの割合特定の時間内に提供 (ミリ秒)
50% 155
66% 178
75% 196
80% 206
90% 237
95% 263
98% 287
99% 305
100% 3367 (最長リクエスト)
请求时间(秒)
单次请求时间(毫秒)
最大内存占用(MB)
最小内存占用(MB)
None
10.41
96.08
24
24
APC
30.45
32.84
21
21
eAccelerator
31.26
31.99
23
18
XCache
30.28
33.02
29
19