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

醉折花枝作酒筹
リリース: 2023-02-17 22:48:02
転載
2404 人が閲覧しました

この記事では、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 サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート