PHP BLT #6 での発表資料です #phpplt
php-profiler-extensionを使ったApplication Performance Monitoring@ariarijp
View Slide
自己紹介• @ariarijp(Takuya Arita)• 株式会社ココラブル ソフトウェアエンジニア• Facebook広告運用ツールの開発担当• 毎日CSVかJSONと戯れています
php-profiler-extensionを使ったApplication Performance Monitoring
php-profiler-extensionを使ったApplication Performance MonitoringYak Shaving
構成• php-profiler-extension• TCPソケットサーバー• php-profiler-extensionからJSONを受け取ってElasticsearchで扱いやすいように整形して• Fluentd• JSON形式の入力をElasticsearchに流す• Elasticsearch / Kibana• データの格納と可視化
tideways/php-profiler-extension
tideways/php-profiler-extension• PHPのプロファイリング、モニタリングなどをSaaSで提供しているTidewaysが中心となって開発• XHProfの代替として使える• PHP7をサポート!• 特定の区間(span)を計測できる• Tidewaysを使わなくてもよい• 適当にTCP/UDPポート開けておけばそこに投げ込んでくれる
構成• php-profiler-extension• TCPソケットサーバー• php-profiler-extensionからJSONを受け取ってElasticsearchで扱いやすいように整形して• Fluentd• JSON形式の入力をElasticsearchに流す• Elasticsearch / Kibana• データの格納と可視化実は最初(php-apm)別の使ってたけどダメだった
構成• php-profiler-extension• TCPソケットサーバー• php-profiler-extensionからJSONを受け取ってElasticsearchで扱いやすいように整形して• Fluentd• JSON形式の入力をElasticsearchに流す• Elasticsearch / Kibana• データの格納と可視化バッファーサイズ足りないっぽい?けどデモではごまかす実は最初(php-apm)別の使ってたけどダメだった
構成• php-profiler-extension• TCPソケットサーバー• php-profiler-extensionからJSONを受け取ってElasticsearchで扱いやすいように整形して• Fluentd• JSON形式の入力をElasticsearchに流す• Elasticsearch / Kibana• データの格納と可視化設定の仕方忘れててハマったバッファーサイズ足りないっぽい?けどデモではごまかす実は最初(php-apm)別の使ってたけどダメだった
デモ環境• Vagrant(VirtualBox / Ubuntu 16.04 / PHP 7.0.13)• 前述のピタゴラスイッチ• WordPress(FakerPressでダミー記事作成済み)• WordPressをクロールするプログラム
デモの雰囲気
まとめ• XHProfのデータをKibanaで見れるのは便利かもしれない• すでにElasticsearch/Kibana環境があれば導入ハードルは低そう• Elasticsearch/Kibanaの話だよね。とか言わない
Thank you!