PHPプロファイラーのblackfireを使う
blackfire
Symfony の開発元である SensioLabs が開発するPHPプロファイラー。
PHPプロファイラー
blackfire
PHPフレームワークのSymfonyの開発元SensioLabsが開発している。
サーバーに監視プログラムをインストールするだけで、プログラム側に手を入れる必要はない。
Chrome エクステンションを使って確認する必要がある。
Xdebug
Xdebug は PHP のコア開発者である Derick Rethans 氏が開発している、PHP のデバッグ用エクステンション。1
yum install php-pecl-xdebug --enablerepo=epel
で手軽にインストールできる
XHProf & XHGui
ソースコードに xhprof_enable()
を記述する必要がある。
XHProf は開発元の Facebook がメンテしなくなったため uprofiler に Fork された。2
Zend Server Z-Ray
Zend Server 上でしか使えない。
Tideways aka Qafoo Profiler
各プロファイラーの比較
機能 | blackfire | Xdebug | XHProf | Z-Ray | Tideway |
---|---|---|---|---|---|
無償利用 | △ | ○ | ○ | △ | 30日間 |
Extension Interface Available | × | × | × | × | × |
Data Stored Locally | × | × | × | × | × |
リクエストの比較 | ○ | × | ○ | × | ○ |
有向グラフ | ○ | ○ | ○ | × | ○ |
Callers (Parent Calls) | × | × | × | × | × |
Callees (Child Calls) | × | × | × | × | × |
メモリー情報 | ○ | × | ○ | ○ | ○ |
DBクエリの表示 | △ | × | × | ○ | △ |
PHPエラー&警告表示 | × | × | × | ○ | △ |
関数フィルター | ○ | △ | ○ | ○ | ○ |
非ブラウザリクエスト | ○ | ○ | ○ | ○ | ○ |
Several Execution Times | × | × | × | × | × |
機能 | blackfire | Xdebug | XHProf | Z-Ray | Tideway |
https://sandro-keil.de/blog/2015/02/10/php-profiling-tools/#comparisonmatrix |
blackfireのインストール
$ sudo yum install pygpgme
$ wget -O - "http://packages.blackfire.io/fedora/blackfire.repo" | sudo tee /etc/yum.repos.d/blackfire.repo
$ sudo yum install blackfire-agent
https://blackfire.io/docs/up-and-running/installation
https://blackfire.io/account/credentials
$ blackfire-agent -register
$ sudo service blackfire-agent start
$ blackfire config
$ sudo yum install blackfire-php