PHPアクセラレータ

PHPのパフォーマンスを向上させるためのパッケージを有名なところからいくつか挙げたいと思います。

それぞれの機能を紹介しておきます。

eAccelerator


eAccelerator is a free open-source PHP accelerator, optimizer, encoder and dynamic content cache. It increases the performance of PHP scripts by caching them in their compiled state, so that the overhead of compiling is almost completely eliminated. It also optimizes scripts to speed up their execution. eAccelerator typically reduces server load and increases the speed of your PHP code by 1-10 times.

ざっと翻訳すると、こんな感じでしょうか?


eAcceleratorは、PHPアクセラレータ、オプティマイザ、エンコーダ、動的コンテンツキャッシュを行うフリーのオープンソースです。コンパイルされた状態をキャッシュすることで、コンパイルのオーバーヘッドは、ほぼ完全に除かれるので、PHPスクリプトのパフォーマンスが向上します。実行速度向上のためにスクリプトを最適化もします。eAcceleratorは特にサーバ負荷を減らし、あなたのPHPコードを1〜10倍スピードアップします。

APC


APC is a free, open, and robust framework for caching and optimizing PHP intermediate code.

ざっと翻訳すると、こんな感じでしょうか?


APCは、フリー、オープン、かつPHPの中間コードとしてキャッシュし、最適化する堅牢なフレームワークです。

ionCube PHP


ionCube PHP Accelerator では、更新されていないスクリプトを自動的に割り出し、共有メモリ内にコンパイルされたスクリプトをキャッシュすることによって、大変素速い動作へと結び付けているのです。 スクリプトの出力をキャッシングするのではなく、スクリプト自体をキャッシュするため、スクリプトは完全なまま補完されます。 しかもスクリプトに変更があった場合には、新しいバージョンを自動的にキャッシュし、ユーザーは無意識に最速なスクリプトを実行することができます。


ionCube PHP Accelerator ではもうひとつの特徴も持っています。それはビルトイン コード オプティマイザ (本来のソースコードを最大限効率化する) と呼ばれる特徴です。 初期段階でも、オプティマイザはコンパイル済みコードの容量を削減し、不必要な動作を省くことによってソースコードを改良してくれるのです。

Zend Optimizer


Zend Optimizerは、PHPコードの最適化を行ない実行速度を数%から数十%まで高速化します。
また、PHPコードのセキュリティソリューション Zend Guard (Zend Encoder/ Zend SafeGuard Suite の後継製品としてリリース予定)がエンコード(変換した)コードの実行にも使用します。
モジュールローディング方式なので、PHPコンパイルすることなく導入できます。

総括

現時点では、PHP5.1でアクセラレータを利用したいならば、APCもしくはZend Optimizerしか選択できませんね。

パフォーマンス的にはどれがよいかは、じっくり調べてみないとわからない上に簡単なプログラムを実行することで検証できるわけではないので、最終的には実際のプログラムが動作するシステム上で比較した方が良さそうですね。

ただし少なくとも新しいバージョンのPHPがリリースされた際には早めに対応を行ってくれないようなプロダクトであれば、採用するのはちょっと躊躇してしまいます。そういう意味でもAPCもしくはZend Optimizerは妥当なところです。