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
71
New Relicを使って PHPの監視、始めてみた
まるすけ
November 14, 2024
Tweet
Share
More Decks by まるすけ
See All by まるすけ
dockerの豆知識を沢山話す
mal0961
3
370
Docker CLIのソースコードリーディングでDockerをチョット理解した話
mal0961
2
180
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
73
9.1k
GitHub's CSS Performance
jonrohan
1030
460k
Building an army of robots
kneath
302
43k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Making Projects Easy
brettharned
115
5.9k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
Music & Morning Musume
bryan
46
6.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
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