ホームページ  >  記事  >  バックエンド開発  >  PHP7 で xhprof パフォーマンス分析ツールをインストールして使用する方法

PHP7 で xhprof パフォーマンス分析ツールをインストールして使用する方法

醉折花枝作酒筹
醉折花枝作酒筹転載
2021-05-27 09:24:082396ブラウズ

この記事では、PHP7 で xhprof パフォーマンス分析ツールをインストールして使用する方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

PHP7 で xhprof パフォーマンス分析ツールをインストールして使用する方法

xhprof バージョンは https://github.com/longxinH/xhprof から取得します。

git clone https://github.com/longxinH/xhprof

xhprof

cd xhprof/extension/
phpize
./configure 
make
make install

をインストールしてから、状況に応じて

extension=xhprof.so

を /etc/php.ini に追加し、

php -m | grep xhprof

を実行すると、php 拡張機能が正常にインストールされたことを示す出力が表示され、Apache または php- を再起動します。 fpm

Run

github からクローンしたファイルのサンプル ディレクトリにあるサンプルを直接実行できます

出力は次のとおりです

Array
(
    [main()] => Array
        (
            [ct] => 1
            [wt] => 9
        )

)
---------------
Assuming you have set up the http based UI for 
XHProf at some address, you can view run at 
http://<xhprof-ui-address>/index.php?run=592567308784c&source=xhprof_foo
---------------

次にコピーしますIndex.php の後の ?run=592567308784c&source=xhprof_foo

Visit

xhprof_html/index.php?run=592567308784c&source=xhprof_foo

出力を確認できます

PHP7 で xhprof パフォーマンス分析ツールをインストールして使用する方法

[View Full Callgraph] をクリックします。中央でパフォーマンス分析の図を確認します。

エラー報告

failed to execute cmd:" dot -Tpng". stderr:sh: dot:command not found。
//解决方案
yum install graphviz

変更への適応

たとえば、パフォーマンス分析などの独自のプロジェクトをテストしたい場合、フレームワーク。

xhprof_lib/utils/

xhprof_lib.php と xhprof_runs.php の下の 2 つのファイルをエントリ ファイルと同じディレクトリにコピーし、ファイルの先頭に

// start profiling
xhprof_enable();
## を追加します。エントリファイルの ##
// stop profiler
$xhprof_data = xhprof_disable();

// display raw xhprof data for the profiler run
print_r($xhprof_data);


include_once "xhprof_lib.php";
include_once "xhprof_runs.php";

// save raw data for this profiler run using default
// implementation of iXHProfRuns.
$xhprof_runs = new XHProfRuns_Default();

// save the run under a namespace "xhprof_foo"
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo");

echo "---------------\n".
     "Assuming you have set up the http based UI for \n".
     "XHProf at some address, you can view run at \n".
     "http://<xhprof-ui-address>/index.php?run=$run_id&source=xhprof_foo\n".
     "---------------\n";

を末尾に追加して上記の URL を取得し、再度

http://***/xhprof_html/index.php?run=*****&source=xhprof_foo

にアクセスして以下のページを取得します

#画像を見るPHP7 で xhprof パフォーマンス分析ツールをインストールして使用する方法

画像の赤い部分は、パフォーマンスが低く、時間がかかる部分であり、機能に応じてシステム コードを確認できます。最適化PHP7 で xhprof パフォーマンス分析ツールをインストールして使用する方法

補足

関数名: メソッド名。
  • Calls: メソッドが呼び出された回数。
  • Calls%: 同じレベルのメソッド呼び出しの総数に対する割合としてのメソッド呼び出しの数。
  • Incl.Wall Time (microsec): サブメソッドの実行時間を含む、メソッドの実行にかかる時間。 (単位:マイクロ秒)
  • IWall%: メソッドの実行に費やされた時間の割合。
  • Excl. Wall Time (microsec): サブメソッドの実行時間を除く、メソッド自体の実行にかかる時間。 (単位:マイクロ秒)
  • EWall%: メソッド自体の実行に費やされた時間の割合。
  • CPU を含む (マイクロ秒): サブメソッドの実行時間を含む、メソッドの実行に費やされた CPU 時間。 (単位:マイクロ秒)
  • ICpu%: メソッドの実行に費やされた CPU 時間の割合。
  • Excl. CPU (microsec): サブメソッドの実行時間を除く、メソッド自体の実行に費やされた CPU 時間。 (単位:マイクロ秒)
  • ECPU%: メソッド自体の実行に費やされた CPU 時間の割合。
  • Incl.MemUse(bytes): メソッドの実行によって占有されるメモリ (サブメソッドの実行によって占有されるメモリを含む)。 (単位:バイト)
  • IMemUse%: メソッドの実行によって占有されるメモリの割合。
  • Excl.MemUse(bytes): サブメソッドの実行によって占有されるメモリを除く、メソッド自体の実行によって占有されるメモリ。 (単位:バイト)
  • emUse%: メソッド自体が占有するメモリの割合。
  • Incl.PeakMemUse(バイト): Incl.MemUse ピーク値。 (単位:バイト)
  • IPeakMemUse%:MemUse のピーク割合を含みます。
  • Excl.PeakMemUse(バイト): Excl.MemUse のピーク値。単位:(バイト)
  • EPeakMemUse%: Excl.MemUse ピーク パーセンテージ。
  • 推奨学習:
  • php ビデオ チュートリアル

以上がPHP7 で xhprof パフォーマンス分析ツールをインストールして使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。