ホームページ  >  記事  >  バックエンド開発  >  PHP ~各種高速化ツールとの性能比較~

PHP ~各種高速化ツールとの性能比較~

WBOY
WBOYオリジナル
2016-07-25 09:12:271245ブラウズ
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 アクセラレーターのキャッシュ特性をより適切にテストするために、連続して数回テストして安定した値を取得できます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。