Slide 1

Slide 1 text

php-profiler-extensionを使った Application Performance Monitoring @ariarijp

Slide 2

Slide 2 text

自己紹介 • @ariarijp(Takuya Arita) • 株式会社ココラブル ソフトウェアエンジニア • Facebook広告運用ツールの開発担当 • 毎日CSVかJSONと戯れています

Slide 3

Slide 3 text

php-profiler-extensionを使った Application Performance Monitoring

Slide 4

Slide 4 text

php-profiler-extensionを使った Application Performance Monitoring Yak Shaving

Slide 5

Slide 5 text

構成 • php-profiler-extension • TCPソケットサーバー • php-profiler-extensionからJSONを受け取って Elasticsearchで扱いやすいように整形して • Fluentd • JSON形式の入力をElasticsearchに流す • Elasticsearch / Kibana • データの格納と可視化

Slide 6

Slide 6 text

構成 • php-profiler-extension • TCPソケットサーバー • php-profiler-extensionからJSONを受け取って Elasticsearchで扱いやすいように整形して • Fluentd • JSON形式の入力をElasticsearchに流す • Elasticsearch / Kibana • データの格納と可視化

Slide 7

Slide 7 text

tideways/php-profiler-extension

Slide 8

Slide 8 text

tideways/php-profiler-extension • PHPのプロファイリング、モニタリングなどをSaaSで提供 しているTidewaysが中心となって開発 • XHProfの代替として使える • PHP7をサポート! • 特定の区間(span)を計測できる • Tidewaysを使わなくてもよい • 適当にTCP/UDPポート開けておけばそこに投げ込んでく れる

Slide 9

Slide 9 text

tideways/php-profiler-extension • PHPのプロファイリング、モニタリングなどをSaaSで提供 しているTidewaysが中心となって開発 • XHProfの代替として使える • PHP7をサポート! • 特定の区間(span)を計測できる • Tidewaysを使わなくてもよい • 適当にTCP/UDPポート開けておけばそこに投げ込んでく れる

Slide 10

Slide 10 text

構成 • php-profiler-extension • TCPソケットサーバー • php-profiler-extensionからJSONを受け取って Elasticsearchで扱いやすいように整形して • Fluentd • JSON形式の入力をElasticsearchに流す • Elasticsearch / Kibana • データの格納と可視化

Slide 11

Slide 11 text

構成 • php-profiler-extension • TCPソケットサーバー • php-profiler-extensionからJSONを受け取って Elasticsearchで扱いやすいように整形して • Fluentd • JSON形式の入力をElasticsearchに流す • Elasticsearch / Kibana • データの格納と可視化 実は最初(php-apm)別の使ってたけどダメだった

Slide 12

Slide 12 text

構成 • php-profiler-extension • TCPソケットサーバー • php-profiler-extensionからJSONを受け取って Elasticsearchで扱いやすいように整形して • Fluentd • JSON形式の入力をElasticsearchに流す • Elasticsearch / Kibana • データの格納と可視化 バッファーサイズ足りないっぽい?けど デモではごまかす 実は最初(php-apm)別の使ってたけどダメだった

Slide 13

Slide 13 text

構成 • php-profiler-extension • TCPソケットサーバー • php-profiler-extensionからJSONを受け取って Elasticsearchで扱いやすいように整形して • Fluentd • JSON形式の入力をElasticsearchに流す • Elasticsearch / Kibana • データの格納と可視化 設定の仕方忘れててハマった バッファーサイズ足りないっぽい?けど デモではごまかす 実は最初(php-apm)別の使ってたけどダメだった

Slide 14

Slide 14 text

デモ環境 • Vagrant(VirtualBox / Ubuntu 16.04 / PHP 7.0.13) • 前述のピタゴラスイッチ • WordPress(FakerPressでダミー記事作成済み) • WordPressをクロールするプログラム

Slide 15

Slide 15 text

デモの雰囲気

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

まとめ • XHProfのデータをKibanaで見れるのは便利かもし れない • すでにElasticsearch/Kibana環境があれば導入ハー ドルは低そう • Elasticsearch/Kibanaの話だよね。とか言わない

Slide 20

Slide 20 text

まとめ • XHProfのデータをKibanaで見れるのは便利かもし れない • すでにElasticsearch/Kibana環境があれば導入ハー ドルは低そう • Elasticsearch/Kibanaの話だよね。とか言わない

Slide 21

Slide 21 text

Thank you!