この記事では、PHP7 で xhprof パフォーマンス分析ツールをインストールして使用する方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
xhprof バージョンは https://github.com/longxinH/xhprof から取得します。
git clone https://github.com/longxinH/xhprof
cd xhprof/extension/ phpize ./configure make make install
をインストールしてから、状況に応じて
extension=xhprof.so
を /etc/php.ini に追加し、
php -m | grep xhprof
を実行すると、php 拡張機能が正常にインストールされたことを示す出力が表示され、Apache または php- を再起動します。 fpm
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
出力を確認できます
[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 パフォーマンス分析ツールをインストールして使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。