プロファイラを使った PHPアプリケーション改善の勘所

こんにちは、エンジニアの @hanhan1978です。

2019/1/30(水)GMO Yoursにて開催された第134回 PHP勉強会@東京 - PHP勉強会@東京 | Doorkeeperにおきまして、「プロファイラを使った PHPアプリケーション改善の勘所」というタイトルで発表してきました。

f:id:hanhan1978:20190130193955j:plain
第134回PHP勉強会

PHPアプリケーション改善?

タイトルが曖昧でしたが、PHPウェブアプリケーションのレスポンスタイムをプロファイラーを使って改善するときの重要なポイントを簡単に解説しました。プロファイラーとしては blackfire.io を使いました。

blackfire.io

登壇内容

SpeackerDeckにアップしてあります!

speakerdeck.com

フィードバック

nazonohito51 (@nazonohito51) | Twitter からTidewaysいいよと言われました。有料だからと思って敬遠していたのですが、有料なのはウェブのビジュアライゼーションツールで、プロファイラー拡張はオープンソースで公開されているとのことでした。

github.com

プレゼンで利用したblackfire.ioはDockerで広く使われているAlpine Linuxでは動かなかったので、もしTidewaysのxhprof拡張がAlpine Linuxで普通に動いてくれるなら、こっちを使うほうが良いかもしれません。今後の研究課題をいただけたので嬉しいです。

まとめ

アプリケーションチューニングは、何をやったらよいのか分からないという意見を耳にしますが、実際には以下のような手順を勧めていくだけで達成できます。

  1. 計測
  2. 問題のあるプロセスの特定
  3. 解析(プロファイリング)
  4. 修正
  5. 計測

一部の出来るエンジニアの職人芸ではなくて、 誰でもできることなんだと思ってくれたら嬉しいです。