XHGui を導入することで、XHProf でプロファイリングした結果データをよりビジュアライズ化し可視化させることができます。
Contents
インストール
XHGui をダウンロードして、cache ディレクトリの権限を変更しておきます。
1 2 3 4 5 |
git clone https://github.com/preinheimer/xhgui.git ls -al xhgui/ chmod 777 xhgui/cache ls -al xhgui/ |
プロファイリング自動実行
プロジェクトのソースに手を加えることなく、自動でプロファイリングさせる為、apache に XHProf の実行を行う設定を追加します。
PHP の auto_prepend_file を設定することで、メインファイルの前に自動的に指定したファイルが付加されます。
httpd.conf や .htaccess に下記のように設定します。
XHProf のプロファイリング開始処理とプロファイリング終了と保存の処理を書いたファイルを設定します。
終了と保存は PHP の register_shutdown_function 関数を使うと便利です。
php_value auto_prepend_file "/var/www/html/xhgui/profiling.php
XHGui で結果を確認
事前準備
Webからアクセスできるように VirtualHost の設定を行います。
VirtualHostファイルを開く
1 2 |
vim /etc/httpd/conf/httpd.conf |
XHGui 用に VirtualHost を追記
<VirtualHost *:80>
DocumentRoot "/var/www/html/xhgui"
ServerName xhgui.localhost
<Directory "/var/www/html/xhgui">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
確認
プロファイリングするサイトを表示すると、自動でプロファイリングしたデータが保存されますので、XHGui の画面を開くと結果の一覧表とグラフが表示されます。
詳細を確認したい場合は、結果のリンクをクリックしていくと詳細やコールグラフを確認していくことができます。