【php】Xdebug プロファイルの利用
問題
phpスクリプトの実行が遅い。どこが遅いか調べたい。
メモ
どこが遅いのか知りたいので、Xdebugのprofilerを利用しました。
(以下、Xdebugの使える環境にて)
まず、xdebugの設定をする。.htaccess ファイルで設定するなら以下のように下記の三行を追加する。
php_value xdebug.profiler_enable 1 php_value xdebug.profiler_output_dir /path/to/プロファイル/出力先を指定 php_value xdebug.profiler_output_name hoge.out.%s
次に、通常通りに調べたい処理を実行する。
すると、上で設定したディレクトリにプロファイルファイルがいくつか出てくるはず。
プロファイルのファイル名の設定を、「hoge.out.」の後ろにphpのファイル名をつけるようにしているので、以下のようなファイルで生成される。
例) hoge.out._home_apache_xxxx_yyyy_zzzz_php
後は、winCacheGrindというソフトでこのファイルを解析すると、下のような画面が表示される。
スクリプトのどのあたりに実行時間がかかっているのかがわかる。
コメント