この記事では、PHP パフォーマンス テスト ツール xhprof のインストールと使用方法を例を通して分析します。参考のために皆さんと共有してください。詳細は次のとおりです:
xhprof の概要:
XHProf は、スコア レイヤー PHP パフォーマンス分析ツールです。リクエストの数と、ブロック時間、CPU 時間、メモリ使用量などのさまざまなメトリクスを機能レベルでレポートします。 (推奨される学習: PHP プログラミングの入門から習熟まで )
関数のオーバーヘッドは、呼び出し元と呼び出し先のオーバーヘッドに分類できます。フェーズ、it 動的コールグラフにコール数の追跡と包括的なメトリック アークを記録するプログラム。データ計算の独自のレポート/後処理段階。
データ収集中、XHProfd はループを検出することで再帰的な関数呼び出しを処理し、再帰的な呼び出し内の各深い呼び出しに便利な名前を付けることで無限ループを回避します。 XHProf 分析レポートは、実行されたコードの構造を理解するのに役立ち、シンプルな HTML ユーザー インターフェイス (PHP で記述) を備えています。ブラウザベースのパフォーマンス分析ユーザー インターフェイスにより、結果の表示や同僚との共有が容易になります。コールグラフも描画できます。
インストールと使用:最近、Web サイトのパフォーマンスを比較したいと思ったので、パフォーマンス テストのジョブを見つけて試してみました。ツールはたくさんありますが、 xhprof のインストールと使い方は以前に比べて比較的簡単でデータ解析もOKになった気がしますので、そのインストールと使い方についてお話します。 。 。
xhprof とgraphvizxhprof をダウンロードするには、PHP 公式 Web サイトから直接ダウンロードできます。便宜上、ここをクリックしてください
If graphviz が必要な場合は、それもダウンロードする必要があります。主に xhprof のパフォーマンス結果のグラフィカル レポートが表示されます。ここをクリックしてください
xhprof をコンパイルしてインストールしますcd xhprof-0.9.4/xhprof-0.9.4/extension/
phpize
./configure
make
sudo make install
生成された xhprof を追加します.so ファイルを php.ini ファイルに追加し、apache を再起動します
#这里要使用相对路径加载的话首先要看一下extension_dir配置的路径,或者直接写上`.so`文件的绝对能够路径即可。。。 extension=xhprof.so ... sudo apachectl restart ##测试扩展是否安装成功,有如下输出则ok php --ri xhprof ... xhprof xhprof => 0.9.2 CPU num => 4 ...graphviz をインストールします
cd graphviz-2.38.0/
#后面参数是要确保安装了libphp才行哦【没安装的 brew install linpng 就可】
./configure --with-png=yes
make
sudo make install
先ほどダウンロードした xhprof フォルダー内で、xhprof_html、xhprof_lib、sample の 3 つのフォルダーを見つけて、これら 3 つのフォルダーをアクセスできる場所に配置し、接続を通じて次の http://xxxx/sample/sample.php にアクセスし、 http://xxxx/xhprof_html/ にアクセスすると、レコードが表示されますので、クリックすると分析結果ページが表示され、View Full CallGraph をクリックするとグラフィカルレポートページにリンクします。
使用方法あなたが作成した Web サイトのホームページのパフォーマンス データを確認したいとします。この Web サイトのホームページ エントリ ファイルを見つける必要があります。 、コア内にファイルをロードする前後に xhprof のパフォーマンス テスト コードを追加します。
#开启,具体参数说明可以查看官方文档 xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY); #核心文件的执行 ... require 'index.php' ... #关闭 $xhprof_data = xhprof_disable(); #这里的路径根据自己的站点来配置 $XHPROF_ROOT = realpath(dirname(__FILE__) .'/'); include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php"; include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php"; $xhprof_runs = new XHProfRuns_Default(); $run_id = $xhprof_runs->save_run($xhprof_data, "xhprof"); #这里打印出本次测试的id,方便到报表列表页面【http://xxxx/xhprof_html/】去通过对应的id找到对应的结果 var_dump($run_id);
以上がPHP はどのようなパフォーマンス テスト ツールを使用しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。