36
33

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[PHP]Blackfireを使ってプロファイリングしてみよう!

Last updated at Posted at 2016-08-22

Blackfire

blackfire.png

Blackfire

  • どのメソッドを通り、どれくらい時間がかかり、メモリはどの位消費している等をプロファイリングしてくれる素晴らしいサービス
  • フリープラン・プレミアムプラン・エンタープライズプランと3種類ある
  • フリープランでも十分なサービスを受けることができる

さっそく使ってみる

試した環境

  • Vagrant 1.7.4
  • CentOS 6.7
  • PHP 5.6.24

アカウントの作成

Sign up

  • 今回はGoogleアカウントで登録

インストール

Installation

  • 上記ページに遷移
  • 環境別タブから「CentOS」を選択
  • 手順に沿ってひたすらインストール
    • 基本的にコピー・インストールの繰り返しでOK
    • ドキュメントが丁寧なので迷わ無いはず

プロファイリング

  • インストールの工程が全て完了したらプロファイリングを行う
  • コマンドラインかChrome拡張でプロファイリングが可能

と、ちょっとその前に、、、

トラブルシューティング

  • 1件ハマったところがあったので記載
  • 全てのインストール完了したけれど、プロファイリングが上手くいかない。。。
  • 現象は以下(コマンドラインの場合)
$ blackfire curl [検証URL]
Are you authorized to profile this page? No probe response, missing PHP extension or invalid signature for relaying agent.

゚(∀) ゚ エッ? ヘ(゚д゚)ノ ナニコレ?

  • 対処方法としてはインストール後に httpd の再起動も必要(たぶん、、、)
$ sudo service httpd restart
  • この後は問題なくプロファイリングできた!
  • 成功すると以下のような感じ(コマンドライン版)
$ blackfire curl [検証URL]
Profiling: [########################################] 10/10
Blackfire cURL completed
Graph URL https://blackfire.io/profiles/[key]/graph
No tests! Create some now https://blackfire.io/docs/cookbooks/tests
No recommendations

Wall Time     324ms
CPU Time      223ms
I/O Time      101ms
Memory       5.27MB
Network         n/a     n/a       -
SQL             n/a       -

気を取り直してプロファイリング

コマンドラインでプロファイリング

  • もうやったので割愛

Chrome拡張でプロファイリング

インストール

Chrome extension

  • 上記ページへ遷移
  • install the Companion ボタンを押下して拡張をインストール

プロファイリング

  • プロファイリングしたいページヘ遷移
    • Blackfireをインストールした環境のページ
  • Chrome拡張を選んで Profile ボタンをクリック
    • backfire-chrome-extension.png
  • プロファイリング中
    • blackfire-processing.png
  • できた!
    • blackfire-complete.png

プロファイリング結果を見る

Profiles

  • 上記ページへ遷移
  • 取得したプロファイリングが一覧で表示されるはずなので、閲覧したプロファイリングを選択する
  • なんや色々見られる!!
    • ※プロファイリング結果の見方は今回割愛させていただきます(^ω^)

プロファイリング結果を見て得られるもの

まだまだ使い始めたばかりなので何がなんやら状態ですが、
以下の情報からどこを最適化すればよいか分かるようになった

  • 全体でどのくらい時間かかっているか分かる
  • どこがボトルネックになっているか分かる
  • メソッドが何回コールされているか分かる

以上、インストールからプロファイリングの取得・閲覧まででした。

36
33
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
36
33

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?