ホームページ  >  記事  >  バックエンド開発  >  XHProf を使用して PHP パフォーマンスのボトルネック_php インスタンスのインスタンスを見つける

XHProf を使用して PHP パフォーマンスのボトルネック_php インスタンスのインスタンスを見つける

韦小宝
韦小宝オリジナル
2017-12-15 09:47:031148ブラウズ

以下のエディターは、PHP パフォーマンスのボトルネックを見つけるための XHProf の使用例を共有します。 XHProf は、PHP パフォーマンスをテストするために Facebook によって開発された拡張機能です。この記事では、PHP アプリケーションで PHP をテストするための XHProf の使用方法を記録します。パフォーマンスの最適化、パフォーマンスのボトルネックを見つける方法。非常に良い参考値となっておりますので、皆様のお役に立てれば幸いです。編集者と一緒に見に来てください!

1. をインストールします。 構成では、xhprof.output_dir で生成されたプロファイル ファイルの保存場所を /tmp として指定します。

3. モバイル プロジェクト



//github上下载https://github.com/facebook/xhprof
unzip xhprof-master.zip 
cd xhprof-master/extension/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --enable-xhprof
make && make install

でドメイン名を構成すると、ブラウザは http://will.com/xhprof/xhprof_html/index.php にアクセスできるようになります。

[xhprof]
extension=xhprof.so
xhprof.output_dir=/tmp



4.graphivzをインストールします

//xhprof下载压缩包中的xhprof_html和xhprof_lib
cp -r xhprof-master/xhprof_html /usr/local/nginx/html/xhprof/
cp -r xhprof-master/xhprof_lib /usr/local/nginx/html/xhprof/

5. テストファイルを書き込みます


完全なコード例 (ランダム全額割引赤い封筒のデモ) )


server{
 listen 80;
 server_name will.com;
 location / {
  root /usr/local/nginx/html;
  index index.html;
 }
 location ~ \.php$ {
  root html;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include  fastcgi_params;
 }
 }

6. 分析結果を確認します


最初にビジネスコードを実行します;


次にブラウザを開きます http://will.com/xhprof/xhprof_html/index.php,最後をクリックして xhprof ファイル

を生成し、中央にある <span style="font-family:NSimsun">View Full Callgraph</span>

リンクに注目してください。グラフの分析結果を参照してください



写真の赤い部分は、比較的パフォーマンスが低く、消費時間が長い部分です。どの関数が赤でマークされているかに応じて、システムコードを最適化できます


。 、xhprof レポート フィールドの意味:


関数名: メソッド名。

Calls: メソッドが呼び出された回数。 Calls%: 同じレベルでのメソッド呼び出しの合計数に対するパーセンテージとしてのメソッド呼び出しの数。

Incl.Wall Time (microsec): サブメソッドの実行時間を含む、メソッドの実行にかかる時間。 (単位: マイクロ秒)

IWall%: メソッドの実行に費やされた時間の割合。

Excl. Wall Time (microsec): サブメソッドの実行時間を除く、メソッド自体の実行にかかる時間。 (単位: マイクロ秒)

EWall%: メソッド自体の実行に費やされた時間の割合。

CPU を含む (マイクロ秒): サブメソッドの実行時間を含む、メソッドの実行に費やされた CPU 時間。 (単位: マイクロ秒) <span style="font-family:NSimsun">View Full Callgraph</span>ICpu%: メソッドの実行に費やされた CPU 時間の割合。

CPU を除く (マイクロ秒): サブメソッドの実行時間を除く、メソッド自体の実行に費やされた CPU 時間。 (単位: マイクロ秒)

ECPU%: メソッド自体の実行に費やされた CPU 時間の割合。

Incl.MemUse(bytes): メソッドの実行によって占有されるメモリ (サブメソッドの実行によって占有されるメモリを含む)。 (単位: バイト)

IMemUse%: メソッドの実行によって占有されているメモリの割合。 Excl.MemUse(bytes): サブメソッドの実行によって占有されるメモリを除く、メソッド自体の実行によって占有されるメモリ。 (単位: バイト) EMemUse%: メソッド自体の実行によって占有されるメモリの割合。

Incl.PeakMemUse(バイト): Incl.MemUse ピーク値。 (単位: バイト)

IPeakMemUse%:MemUse ピークの割合を含みます。

Excl.PeakMemUse(バイト): Excl.MemUse ピーク値。単位: (バイト)

EPeakMemUse%: Excl.MemUse ピークのパーセンテージ。

XHProf を使用して PHP パフォーマンスのボトルネックを見つける上記の例は、エディターによって共有されたすべての内容です。参考になれば幸いです。 !

関連する推奨事項:

PHP パフォーマンスのボトルネックを見つけるための XHProf の使用例

phpsnappy を xhprof に統合する方法

xh のインストールと使用に関する画像とテキストプロパフォーマンス分析ツールphp7 コードチュートリアルの下で

以上がXHProf を使用して PHP パフォーマンスのボトルネック_php インスタンスのインスタンスを見つけるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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