ホームページ  >  記事  >  バックエンド開発  >  PHP パフォーマンス テスト ツール xhprof の実践的なケース分析

PHP パフォーマンス テスト ツール xhprof の実践的なケース分析

php中世界最好的语言
php中世界最好的语言オリジナル
2018-05-16 11:45:552751ブラウズ

今回は、PHP パフォーマンス テスト ツール xhprof の実践的な事例分析をお届けします。 PHP パフォーマンス テスト ツール xhprof の実践的な事例分析の 注意事項 については、以下のとおりです。

xhprof の概要:

XHProf は、階層化された PHP パフォーマンス分析ツールです。リクエストの数と、ブロック時間、CPU 時間、メモリ使用量などのさまざまなメトリクスを機能レベルでレポートします。関数のオーバーヘッドは、呼び出し元と呼び出し先のオーバーヘッド、XHProf データ収集フェーズに分類できます。XHProf データ収集フェーズでは、プログラムの動的コールグラフに呼び出しカウントの追跡と包括的なメトリック アークが記録されます。データ計算の独自のレポート/後処理段階。データ収集中に、XHProfd はループを検出することで再帰的関数呼び出しを処理し、再帰的呼び出し内の各深い呼び出しに便利な名前を付けることで無限ループを回避します。 XHProf 分析レポートは、実行されたコードの構造を理解するのに役立ち、シンプルな HTML ユーザー インターフェイス (PHP で記述) を備えています。ブラウザベースのパフォーマンス分析ユーザー インターフェイスにより、結果の表示や同僚との共有が容易になります。コールグラフも描画できます。

インストールと使用:

最近ウェブサイトのパフォーマンスを比較したかったので、パフォーマンステストのジョブを見つけて遊んでみました。ツールはたくさんありますが、以前に比べてまだ不十分だと感じています。 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 つのフォルダーをアクセスできる場所に配置し、接続を通じて次の http://xxxx/ にアクセスします。 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 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

PHP はランダム消去アルゴリズムを実装します

Yii2 フレームワークのデータ検証の使用方法の詳細な説明

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

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