質問

PHP の各関数と PHP の各ファイルの実行にかかる時間を確認する方法を見つけたいと考えています。私は古いレガシー PHP アプリケーションを持っていて、その「大まかな部分」を見つけようとしているので、どのルーチンとページのロードに非常に長い時間がかかっているかを客観的に特定したいと考えています。

これを可能にする既製のツールはありますか、それともマイクロタイムを使用して独自のプロファイリングフレームワークを構築することにこだわっていますか?

役に立ちましたか?

解決

実は先週、いくつかの最適化作業を行ってきました。XDebug はまさに最適な方法です。

それを拡張機能として有効にして(何らかの理由で、私の Windows マシンでは ze_extension では機能しません)、php.ini を xdebug.profiler_enable_trigger=On で設定し、XDEBUG_PROFILE=1 で通常の URL を get または post として呼び出します。リクエストそのものをプロファイルするための変数。これ以上簡単なことはありません!

また、本当にお勧めできます ウェブグラインド 、デバッグ出力ファイルを読み取って解析できるウェブベース (php) の Google Summer Of Code プロジェクトです。

他のヒント

ここに素敵なヒントがあります。

XDebug を使用して PHP をプロファイリングする場合は、profiler_trigger を設定し、これをブックマークレットで使用して XDebug プロファイラーをトリガーします ;)

javascript:if(document.URL.indexOf('XDEBUG_PROFILE')<1){var%20sep=document.URL.indexOf('?');sep%20=%20(sep<1)?'?':'&';window.location.href=document.URL+sep+'XDEBUG_PROFILE';}

調べてみる xデバッグ, 、詳細なプロファイリングが可能になります。そして ここに説明があります xdebug の使用方法について説明します。

Xdebugのプロファイラーは、PHPコードを分析し、ボトルネックを決定したり、一般的にコードのどの部分が遅く、速度ブーストを使用できるかを確認することができる強力なツールです。Xdebug 2のプロファイラーは、cachegrind互換ファイルの形でプロファイリング情報を出力します。

称賛の意 シゾダッキー のために 言及する ウェブグラインド. 。初めて聞きました。非常に便利です (+1)。

それ以外の場合は、次を使用できます kcachegrind Linux またはその派生版上 ウィンキャッシュグラインド. 。これらのアプリは両方とも、xdebug のプロファイラー出力ファイルを読み取り、見やすいように要約します。

かつてスクリーンキャストを見たことがある ゼンドコア. 。見た目はかなり良さそうですが、実際にはお金がかかります。それが問題になるかどうかはわかりません。

XDebug は優れていますが、IMO の使用やセットアップはそれほど簡単ではありません。

Zend Studio に組み込まれているプロファイラーは非常に使いやすいです。ブラウザのツールバーのボタンを押すだけで、 バム コードプロファイルがあります。おそらく CacheGrind ダンプほど詳しくはありませんが、私にとっては常に十分でした。

Zend Platform もセットアップする必要がありますが、開発で使用する場合は簡単で無料です。ただし、Zend Studio ライセンスの料金を支払う必要があります。

xdebug のプロファイリング機能は非常に優れています。出力を valgrind 形式で保存できる場合は、KCachegrind や Wincachegrind などを使用してコール グラフを表示し、視覚的なタイプの場合は、何が起こっているかをより簡単に把握できます。

NuSphere (www.nusphere.com) の PhpED には、非常に強力なリアルタイム デバッグ機能に加えて、IDE 内から 1 回のクリックで実行できるプロファイラーが組み込まれています。

xdebug 拡張機能をインストールすると、実行プロファイルをエクスポートするように設定でき、WinCacheGrind (Windows 上) で読み取ることができます。Linux 上でファイルを読み取るアプリの名前が思い出せません。

最も簡単な解決策は、Zend Profiler を使用することです。使用するのに Zend Platform は必要ありません。ブラウザから直接実行できます。非常に正確で、必要なほとんどの機能が備えられており、Zend Studio に統合されています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top