コードパフォーマンスのボトルネックの PHP+xdebug 分析について

藏色散人
リリース: 2023-04-09 18:26:02
転載
2874 人が閲覧しました

PHP xdebug 分析コードのパフォーマンスのボトルネック

通常は有効ですxdebug プラグイン、パフォーマンス テストの出力ファイルが生成され、通常は cachegrind.out.xxxx ファイル内に作成されます。

このファイルは、サードパーティ ツールによるコード パフォーマンス分析に使用できます。

ただし、ローカルに複数のプロジェクト/Web サイトがある場合、すべてのプロファイルが 1 つのファイルに出力されるため、後続のパフォーマンス分析には不便です。

カスタム プロファイル ファイル名

xdebug.profiler_output_name パラメーターを構成することで、出力ファイル名を設定できます。一部のパラメーターは次のとおりです:

# # %cCrc32 現在の作業ディレクトリの値を確認しますcachegrind.out.%ccachegrind.out.1258863198 % p現在のサーバー プロセスの Pidcachegrind.out.%pcachegrind.out.9685% r乱数cachegrind.out.%rcachegrind.out.072db0%s スクリプトファイル名 (注)cachegrind.out.%scachegrind.out._home_httpd_html_test_xdebug_test_php%tUnix タイムスタンプ (秒) cachegrind.out.%tcachegrind.out.1179434742%uUnixタイムスタンプ (マイクロ秒) cachegrind.out.%ucachegrind.out.1179434749_642382%H$_SERVER ['HTTP_HOST']cachegrind.out.%Hcachegrind.out.localhost#%R#$_SERVER ['REQUEST_URI']cachegrind.out.%Rcachegrind.out._test_xdebug_test_php_var=1_var2%S session_id (設定されている場合は $_COOKIE から)cachegrind.out.%Scachegrind.out.c70c1ec2375af58f74b390bbdd2a679d%%%characterscachegrind.out.%%cachegrind.out.%%##edit
記号 意味 設定サンプル サンプルファイル名
php.ini

設定ファイル: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">xdebug.profiler_output_name = cachegrind.out.%H</pre><div class="contentsignin">ログイン後にコピー</div></div> 次に、php サーバーを再起動します。

Mac では、プロファイル ファイルは

/var/tmp/

ディレクトリに保存されます。 パフォーマンス分析

Mac では MacCallGrind と qcachegrind を使用できますが、前者は有料で Apple Store から直接ダウンロードできますが、後者は無料です。手動インストールが必要です。

Call Graph 関数用のgraphviz のインストール:

$ brew install graphviz
ログイン後にコピー

qcachegrind のインストール:

$ brew install qcachegrind
ログイン後にコピー

インストールが完了したら、

qcachegrind

アプリケーション、グラフを開くことができます。インターフェイスは次のとおりです。

コードパフォーマンスのボトルネックの PHP+xdebug 分析についてOthers

ただし、

profile

ファイル出力をオンにした後、ローカルプロジェクトが多く、ディスクスペースの大きな領域を占有しているので、半年ほどクリーンアップしていない状態が下の図です:

コードパフォーマンスのボトルネックの PHP+xdebug 分析についてコマンドを使用してクリーンアップできます:

$ sudo rm -fr /private/var/tmp/cachegrind.out.*
ログイン後にコピー

以上がコードパフォーマンスのボトルネックの PHP+xdebug 分析についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!