ホームページ >バックエンド開発 >PHPチュートリアル >コードパフォーマンスのボトルネックの PHP+xdebug 分析について

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

藏色散人
藏色散人転載
2021-02-18 17:27:212936ブラウズ

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

設定ファイル: <pre class="brush:php;toolbar:false">xdebug.profiler_output_name = cachegrind.out.%H</pre> 次に、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 までご連絡ください。