ホームページ >バックエンド開発 >PHPチュートリアル >PHP ~各種高速化ツールとの性能比較~
Xcache の紹介 PHP アクセラレータの原理と機能については以前に紹介しました (LAMP アーキテクチャの PHP-FPM サーバーを参照)。最も広く使用されている PHP アクセラレータの 1 つとして、xcache は初期の eAccelerator アクセラレータよりも優れたパフォーマンスを備えています。 PHP プログラムの実行時のアクセラレータ xcache のパフォーマンスへの影響を比較します。 xcacheをインストールします コードをコピーします #インストール tar xf xcache-3.0.3.tar.gz cd xcache-3.0.3 /usr/local/php/bin/phpize # xcache は php の外部モジュールとしてインストールされます ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config 作成&&インストール # インストールが完了すると、次のような行が表示されます: 共有拡張機能のインストール: /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/ # php.ini を編集して php と xcache を統合します: # まず、xcache が提供するサンプル構成を php.ini にインポートします mkdir /etc/php.d # これは、以前に PHP をインストールしたときに設定された設定ファイルのスキャン ディレクトリです cp xcache.ini /etc/php.d # xcache.ini ファイルは、xcache のソース コード ディレクトリにあります。 # 次に /etc/php.d/xcache.ini を編集し、拡張子で始まる行を見つけて次の行に変更します。 拡張子 = /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so # php.ini ファイルに複数の拡張コマンド ラインがある場合は、この新しい行が最初にランク付けされていることを確認してください。 # xcache が正常にインストールされているかどうかを確認します: /usr/local/php/bin/php -m |grep -i xcache コードをコピーします Opcache の紹介 新世代の PHP アクセラレータは、Zend によって開発されました。その実装原理は、PHP の実行後にメモリにバッファリングされ、バッファ内のコンパイル済みコードを直接使用して速度を向上させ、コストを削減します。サーバー負荷はありますが、パフォーマンスは Xcache よりも優れています。詳細についてはテスト結果を参照してください Opcache をインストールします コードをコピーします wget http://pecl.php.net/get/zendopcache-7.0.2.tgz tar xzf zendopcache-7.0.2.tgz cd zendopcache-7.0.2 /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config 作る インストールする # 設定ファイルの設定については、php.ini の末尾に次の内容を直接追加することもできますが、ここでは管理を容易にするために、PHP 設定ファイルのスキャン ディレクトリ php.d の下に新しいファイル opcache.ini を設定します。 scan-dir は、PHP のコンパイルおよびインストール時に定義されます # vi /etc/php.d/opcache.ini [opcache] zend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/opcache.so opcache.memory_consumption=128 # 割り当てられたメモリ サイズ (MB 単位)、つまり、プリコンパイルされた PHP コードをどれだけ保存できるか opcache.interned_strings_buffer=8 # インターンされた文字列のメモリ サイズ (MB) opcache.max_accelerated_files=4000 # キャッシュできるファイルの最大数 opcache.revalidate_freq=60 # 共有メモリ割り当てを変更するためにファイルのタイムスタンプをチェックする頻度、単位は s opcache.fast_shutdown=1 # キューの高速シャットダウンを有効にするかどうか、1 は有効を意味します opcache.enable_cli=1 # CLI での PHP プログラムのキャッシュを許可します #モジュールが正常にインストールされていることを確認します: /usr/local/php/bin/php -m |grep -i opcache コードをコピー hhvm の紹介 HipHop VM (HHVM) は、PHP コードを実行するために Facebook によって起動された仮想マシンであり、PHP 用の JIT (Just-In-Time) コンパイラーであり、高速なコード生成とジャストインタイム コンパイルの利点があります。 hhvm は PHP コードをコンパイルして C++ プログラムに変換して実行し、実行効率が大幅に向上します Facebook によると、HHVM は速度の大幅な向上を達成し、現在使用されている PHP インタープリターより 60% 高速になり、使用するメモリが 90% 削減されました hhvm をインストールします hhvm はまだ研究開発段階にあるため、国内で本番環境で利用されているものはまだ少なく、導入に必要な環境も比較的複雑です(例えば、CentOS6.5 以降の boost-system や boost-filesystem のバージョンはデバッグとテストの段階では、テスト結果が利用可能になるまで待ってから、hhvm テスト結果を一緒に投稿します。 テスト手順 # 別の仮想マシンを見つけて、HTTPD サーバー (192.168.1.110) でストレス テストを実行します # テストツールはApacheに付属のベンチマークテストツールabを使用してください # テスト方法は以下の通りです ab -c 20 -n 2000 http://192.168.1.110:8080/index.php # 注: テストでは、アクセスに影響を与えることなく xcache アクセラレータの高速化効果を確認するために 20 の同時実行を使用します。テスト ページでは、前の講義でデプロイしたばかりの phpMyAdmin のログイン ページのindex.php を使用できます。 # 注: PHP アクセラレーターのキャッシュ特性をより適切にテストするために、連続して数回テストして安定した値を取得できます |