この記事は更新が必要です。(2014年12月) |
これはPHP アクセラレータのリストです。
Alternative PHP Cacheは、PHPバイトコードコンパイラの出力を共有メモリにキャッシュする、無料かつオープンな(PHPライセンス)フレームワークです。これにより、後続のリクエストにおける解析とディスクI/Oのオーバーヘッドが削減されます。また、ユーザーデータ用の共有メモリキャッシュも備えています。Drupalのような大規模なソースコードベースを持つアプリケーションでは、ページ生成速度が3倍向上します。[ 1 ]
これはFacebookで使用されており、Facebook自身を含む多くの貢献者のおかげで成熟したコードベースを持っています。[ 2 ]
APC は当初、PHP 6 までに PHP コアに組み込む予定でした。[ 3 ]複数のアクセラレータ プロジェクトが望ましいと考えられていましたが、[ 4 ]その後、焦点は Optimizer Plus に移り、[ 5 ] [ 6 ]、その後、PHP 5.5 のコア ディストリビューションに含まれる Zend OPcache に移りました。[ 7 ] 2013 年 3 月から、APCu (APC User Cache) のベータ バージョンが利用可能になりました。このバージョンでは、すべてのオペコード キャッシュ機能が削除され、使い慣れた APC API を使用して共有メモリ内のユーザー キャッシュがサポートされています。[ 8 ]
eAcceleratorは、2004年12月にTurck MMCacheプロジェクトのフォークとして誕生しました。Turck MMCacheはDmitry Stogov氏によって開発され、eAcceleratorのコードの多くは現在も彼の成果に基づいています。eAcceleratorにはPHPエンコーダーとローダーも含まれていましたが、開発スタッフは2006年12月以降、エンコーダーの開発を中止し、この機能も削除しました。
2001年に開始されたionCube PHP Accelerator (PHPA)は、商用のZend Cache製品と競合する最初の無料で利用できるPHPアクセラレータでした。ionCube Ltd.が設立される前、PHPのパフォーマンスが他の一般的なWebプログラミング言語と比較して見劣りすると見なされていた時代に作成され、PHPAはパフォーマンスの点でPHPが他の言語と競合できることを示しました。PHPAの作者は、オープンソースのライバルが商用の代替手段に与える影響についてZend TechnologiesのZeev Suraski氏が初期に提起した懸念に応えて、プロジェクトをクローズドソースのままにすることを選択しましたが、PHPAはさまざまなプラットフォームで利用できるため、小規模なサイトからYahoo!まで世界中で広く採用されました。また、PHPAは、パフォーマンスの低下を招く各リクエストのデシリアライズの代わりに、PHPAとZend Cacheが採用していた共有メモリ実行手法を使用するようにAPCを再開発するきっかけにもなりました。
Turck MMCacheは現在廃止されています。eAcceleratorはTurck MMCache のフォークです。
XCacheは高速で安定したPHPオペコードキャッシャーで、テスト済みであり、現在、高負荷環境の運用サーバーで稼働しています。LinuxとFreeBSDでテストされており、Windowsではスレッドセーフ版と非スレッドセーフ版のPHPをサポートしています。この比較的新しいオペコードキャッシングソフトウェアは、Lighttpdの開発元であるmOoによって開発され、当時の既存ソリューションのいくつかの制限を克服しました。例えば、新しいPHPバージョンが登場してもすぐに使用できるなどです。
PhpExpressは、Nu-Coder(商用)エンコードされたPHPファイルとプレーンなPHPファイルの両方をPHPエンジンに直接読み込む無料のPHPオペコードキャッシュです。これにより、読み込み時間を短縮し、PHPアプリケーションのパフォーマンスを向上させます。Windows、Linux、FreeBSD、NetBSD、Mac OS X、Solarisで利用可能です。
Zend OPcache [ 9 ]は、PHP言語自体にバンドルされているZend ServerおよびZend Server Community Editionのオープンソース[ 10 ]コンポーネントです。 [ 7 ] Zend OPcacheは、オペコードのキャッシュと最適化によりPHPの実行を高速化します。コンパイル済みのスクリプトのバイトコードを共有メモリに格納します。バージョン7.0以降では、コンパイル済みのスクリプトのバイトコードをディスクに格納できます。これにより、ディスクからコードを読み取り、将来のアクセス時にコンパイルする段階が排除されます。さらにパフォーマンスを向上させるために、格納されたバイトコードはより高速に実行できるように最適化されています。Zend Optimizerとは異なり、Zend OPcacheはZend Guardでエンコードされたファイルをロードしません。Zendは、エンコードされたアプリケーションをZend ServerおよびZend Server Community Editionでロードするために、Zend Guard Loaderという別のコンポーネントを提供しています。
Zend Optimizer+ は、2013 年 3 月中旬に Zend OPcache に 名前が変更されました。
PHP 5.5以降ではZend OPcacheがPHPに統合され、同梱されています。[ 7 ]
Zend Platform(旧称Zend Cache、その後Zend Accelerator)は、商用Webアプリケーションサーバー製品です。単なるPHPアクセラレータにとどまらず、包括的なパフォーマンス機能を備えています。コードキャッシュ/アクセラレーション、データキャッシュ、コンテンツ(HTML出力)キャッシュ、ダウンロード最適化、オフライン(非同期)処理機能など、多くの機能を備えており、ほとんどのPHPアプリケーションで大幅なパフォーマンス向上を実現します。また、チューニングとデバッグを支援する詳細なPHP監視と根本原因分析サポート、HA(高可用性)ニーズに対応するセッションフェイルオーバーサポート、Java統合を含むその他の統合機能も備えています。
Zend PlatformとZend Coreは現在「サポート終了」状態にあり[ 11 ]、Zend Serverに置き換えられました。[ 12 ]
Windows版PHP向けにMicrosoftが開発した、無料のオープンソース(New BSDライセンス)PHPアクセラレータです。この拡張機能には、PHPオペコードキャッシュ、ファイルキャッシュ、ファイルパス解決キャッシュ、オブジェクト/セッションキャッシュ、ファイル変更通知、ロック/ロック解除APIが含まれています。これらのキャッシュを組み合わせることで、WindowsでホストされるPHPアプリケーションのパフォーマンスが大幅に向上します。この拡張機能は主に、インターネットインフォメーションサービス(IIS)およびFastCGIプロトコル経由の非スレッドセーフビルドのPHPで使用されます。
| 名前 | 可用性 | オペコードキャッシュ | ファイルキャッシュ | ファイルパスキャッシュを解決する | オブジェクト/セッションキャッシュ | 最適化 | メモリにキャッシュ | ソースエンコーディング |
|---|---|---|---|---|---|---|---|---|
| 装甲兵員輸送車 | 製造中止 | はい | はい | ? | はい | はい | はい | いいえ |
| eアクセラレーター | 製造中止 | はい | はい | ? | ? | ? | はい | ? |
| PHPアクセラレータ(PHPA) | 製造中止 | はい | はい | ? | いいえ | はい | はい | いいえ |
| ターク MMキャッシュ | 製造中止 | ? | ? | ? | ? | ? | ? | ? |
| Xキャッシュ | 製造中止 | はい | はい | ? | はい | いいえ[ 13 ] | はい | ? |
| ヌスフィア PhpExpress | 製造中止 | はい | ? | ? | ? | ? | ? | ? |
| Zend OPcache (例: Zend Optimizer+) | 維持 | はい | はい | ? | いいえ | はい | はい | いいえ |
| Zendプラットフォーム | 製造中止 | ? | ? | ? | ? | ? | ? | ? |
| Windows キャッシュ | 維持 | はい | はい | はい | はい | ? | はい | ? |
| PHPアクセラレータ | 可用性 | OS | ウェブサーバー | PHPバージョン | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ウィンドウズ | リナックス | フリーBSD | macOS | ネットBSD | ソラリス | IIS | アパッチ | エングス | 5.2 | 5.3 | 5.4 | 5.5 | 5.6 | 7.0 | 7.1 | 7.2 | 7.3 | 7.4 | 8.0から8.4 | ||
| 装甲兵員輸送車 | 製造中止 | はい | はい | はい | はい | ? | はい | ? | はい | はい | はい | はい | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
| eアクセラレーター | 製造中止 | はい | はい | はい | ? | ? | はい | はい | はい | はい | はい | はい | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
| イオンキューブ | 製造中止 | はい | はい | はい | はい | ? | はい | ? | はい | ? | はい | はい | はい | はい | はい | はい | はい | はい | いいえ | いいえ | いいえ |
| ターク MMキャッシュ | 製造中止 | ? | ? | ? | ? | ? | ? | ? | ? | ? | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
| Xキャッシュ | 製造中止 | はい | はい | はい | はい | ? | ? | ? | はい | はい | はい | はい | はい | はい | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
| ヌスフィア PhpExpress | 製造中止 | はい | はい | はい | はい | はい | はい | ? | ? | ? | はい | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
| Zend OPcache (例: Zend Optimizer+) | 維持 | はい | はい | はい | はい | ? | いいえ | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい |
| Zendプラットフォーム[ 14 ] | 製造中止 | いいえ | はい | いいえ | いいえ | いいえ | はい | いいえ | はい | いいえ | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
| Windowsキャッシュ[ 15 ] | 維持 | はい | いいえ | いいえ | いいえ | いいえ | いいえ | はい | ? | ? | はい | はい | はい | はい | はい | はい | はい | いいえ | いいえ | いいえ | いいえ |
Zend Guard Loader(旧称Zend Optimizer)は、Zend Technologiesが提供する無料のPHP拡張機能で、 Zend Guardによってエンコード・難読化されたファイルを読み込みます。[ 16 ] PHPのバイトコードを最適化したりキャッシュしたりすることはありません。