Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
New Relicを使って PHPの監視、始めてみた
Search
まるすけ
November 14, 2024
1
99
New Relicを使って PHPの監視、始めてみた
まるすけ
November 14, 2024
Tweet
Share
More Decks by まるすけ
See All by まるすけ
dockerの豆知識を沢山話す
mal0961
3
380
Docker CLIのソースコードリーディングでDockerをチョット理解した話
mal0961
2
180
Featured
See All Featured
Building Applications with DynamoDB
mza
91
6.1k
Making the Leap to Tech Lead
cromwellryan
133
9k
The World Runs on Bad Software
bkeepers
PRO
65
11k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
Adopting Sorbet at Scale
ufuk
73
9.1k
Why Our Code Smells
bkeepers
PRO
335
57k
Documentation Writing (for coders)
carmenintech
66
4.5k
Side Projects
sachag
452
42k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
98
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Six Lessons from altMBA
skipperchong
27
3.5k
Transcript
まるすけ (@malsuke096) New Relicを使って PHPの監視、始めてみた 1 2024/11/14
(注意) New Relicの回し者じゃありません 2
New Relicとは 3
New Relicとは 4 (オールインワン)オブザーバビリティプラットフォーム
New Relicとは 5 類似製品・パーツ
オブザーバビリティって? 6 https://speakerdeck.com/atsushikoga/opentelemetry-phpteshi-meru-ohusahahiriteiru-men?slide=6
なぜNew Relicの話 7
なぜNew Relicの話? 8 バイト先の会社が使ってた どうやら個人なら全機能が無料で使えるらしい! (ログは毎月100GBまで無料) PHPだと導入が楽らしい!? 学生特典もある
New Relicを使ってみる 9
New Relicの設定 10
New Relicの設定方法 11 PHP拡張のインストール (Dockerfileへ追記) php拡張のインストール 設定ファイルのライセンスキー設定
New Relicの設定方法 12 php-daemonコンテナの設定 (compose.yamlへ追記) daemonのコンテナを追加
おしまい 13
設定めっちゃ楽 導入だけなら本体のコードに触れすらしない 14
設定後 ダッシュボード 15
設定が終わった後リクエストを流すと 16 (PHP自体の応答速度) 8.32ms エラー率 (24.3%) スループット (11.9req/min) 満足度?
設定が終わった後リクエストを流すと 17 (PHP自体の応答速度) 8.32ms エラー率 (24.3%) スループット (11.9req/min) 満足度?
PHPでの活用 18
PHPでの活用 - Error・Warningの発見 19
PHPでの活用 - Error・Warningの発見 20 一覧表示される!嬉しい!
PHPでの活用 - Error・Warningの発見 21 詳細もわかる!
PHPでの活用 - Error・Warningの発見 22 詳細もわかる! どこで問題が起きてるかわかりやすい!
PHPでの活用 - 処理の遅いエンドポイントの発見 23
PHPでの活用 - 処理の遅いエンドポイントの発見 24 勝手に処理のエンドポイント毎の統計が表示される。 (カスタマイズすればいろいろ表示できるよ)
まて! 25
ルーティングを行っていると 全部/index.phpになるではないか! 26
PHPでの活用 - 処理の遅いエンドポイントの発見 27 Laravel勢とか.htaccessでひん曲げる勢とか。
PHPでの活用 - 処理の遅いエンドポイントの発見 28 安心してください。 newrelic_name_transactionを使えばこっちからpathを教える ことが可能です! (VScodeが馬鹿なのは御愛嬌 PhpStormを使おう)
PHPでの活用 - PHPの応答速度確認 29
PHPでの活用 - PHPの応答速度確認 30 クライアントへのレスポンスではなく、PHP自体の応答速度が 計測される。 レスポンスが遅い場合にPHPの問題なのか判断しやすい。
PHPでの活用 - PHPの応答速度確認 31 AWS上でPHPを動かすシンプルな構成 この時、ALBやCloudFrontでも問題が発生する可能性がある (AWSの障害等) 原因の切り分けが重要
このご時世、なんでもPHPが悪者にされる 誰が悪いのかはっきりさせたほうが良い 32
PHPでの活用 - 不要なファイル・関数の発見 33
PHPでの活用 - 不要なファイル・関数の発見 34 エンドポイントになっていればアクセスログから利用されてる か発見可能だけど... どっかからInclude、requireされてそうな場合発見が難しい こういうのやめてほしい。
PHPでの活用 - 不要なファイル・関数の発見 35 どこで参照されているかわからない場合にわざとWarningや Exceptionを発生させることで発見が可能
PHPでの活用 - 不要なファイル・関数の発見 36 スタックトレースもついてくるので 「どっから呼び出されているか」がわかる! test.phpがunused.phpを呼び出している
New Relicなかなかええやん 37
わし、無料やけど会社で使うと料 金いくらなんやろか 38
せや!バイト先の請求書見てみよっと! 39
40
41
42
New Relicはユーザ数課金だが どうやらフルプラットフォームユーザーは 月額$300/人 !! 43
料金形態 44 機能、ログ容量、ホスト数 ユーザ数課金じゃないので全員が見れる! エクセル職人が誕生しない! ユーザ数、ログ容量 ホスト数課金じゃないのでステージング等 いろんな場所でも活用できる!
どっちを使うかはあなた次第 45
ありがとうございました(終) 46