PHPアクセラレータ
PHPのパフォーマンスを向上させるためのパッケージを有名なところからいくつか挙げたいと思います。
- eAccelerator - Trac
- Turck MMCacheから派生
- 現時点(2006/09/18)では、PHP5.1系には未対応(PHP5.0系は対応済)。次期バージョンでは対応予定
- PECL :: Package :: APC
- PHP5系には対応済
- ionCube PHP Encoding and Acceleration: ionCube PHP Accelerator
- 米国 Yahoo!で採用実績あり
- PHP5系には未対応
- Zend Optimizer
- PHP5系には対応済
それぞれの機能を紹介しておきます。
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をコンパイルすることなく導入できます。