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
APMをインストールしただけで動かしてない?
Search
demuyan
December 21, 2025
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
APMをインストールしただけで動かしてない?
demuyan
December 21, 2025
More Decks by demuyan
See All by demuyan
エンターテイメント業界で利用されるAWS
demuyan
0
640
AWS marketplaceでお手軽サーバ構築
demuyan
0
79
本のお題の決め方 / How to Choose a Better Theme for Your Book
demuyan
0
76
できる! ART
demuyan
6
5.4k
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Optimizing for Happiness
mojombo
378
71k
Agile that works and the tools we love
rasmusluckow
331
22k
Thoughts on Productivity
jonyablonski
76
5.3k
How GitHub (no longer) Works
holman
316
150k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
650
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
280
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
490
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
300
Faster Mobile Websites
deanohume
310
32k
Transcript
APMをインストー ルしただけで動か してない? 低スペックなサーバーでもAPMを活用するた めの軽量化術 クラスメソッド 出村 成和
自己紹介 • 出村 成和(Demura Narikazu) • クラスメソッド ゲームソリューション部 こんな人です •
ITエンジニア • インフラ・New Relic技術サポート・アプリ開発 etc… • 前職ではソーシャルゲーム(バックエンド)開 発してました • New Relic Trailblazer
APMを入れたら「重く」なった!? • ある現場での悲劇: • APMをインストールした途端、本番環境のレ スポンスが悪化 • パフォーマンス調査のためのツールなのに CPUを食いつぶす •
正確に計測できない… • 結論: • 諦めないで! カスタマイズで軽くできます! 今回はPHP Agentを例に解説(他言語も考え方 は同じ)
なぜ重い? デフォルトは「全部盛り」 • 初期設定の正体 • すべてのデータを取得 • すべてのセグメントを記録 • すべてのSQLトレース
• すべてのイベント収集 → そりゃ重くもなる! (ヤサイニンニクアブラカラメ)
安心してください、調整できます • newrelic.ini ファイルで設定変更が可能 • ここでは効果の大きい「3つの調整ポイン ト」を紹介します
調整ポイント① セグメント上限 • 後から調査するために保存するデータの「量」を制限する • セグメントとは • 関数呼び出しなどの処理の最小単位 • 設定箇所:
• newrelic.transaction_tracer.max_segments_web = 0 • Web: 通常は制限なし(0)でOK。1つの処理自体が長時間かかる場合は制限する • newrelic.transaction_tracer.max_segments_cli = 100000 • CLI: デフォルト(10万)でも重ければ、さらに減らす。
調整ポイント② SQL監視 • SQL監視の負荷を下げる • EXPLAIN(実行計画)の罠: • 遅いクエリ発見 → 調査用にもう一度似たクエリ
を実行 • つまり2回走る = 重い! • 設定: • newrelic.transaction_tracer.explain_enabled = true • 対策: • 頻繁に重いクエリが走るシステムならOFFを検討
調整ポイント③ 収集詳細度 • トレースとは • 1つのリクエスト処理の開始から終了までの詳 細な追跡記録 • トレース詳細度: •
newrelic.transaction_tracer.detail = 1 • デフォルト(1): すべて記録 • 最小限(0): 必要最小限 • 戦略: • 詳細に追いかけたい → 詳しく (1) • ざっくりな内容でも問題ない → 軽く (0)
実務でのステップ 1. APMをインストール、デフォルトで動かす 2. CPU負荷を確認(目安:5%まではOK、10% 超えなら対策) 3. ターゲットを絞る 1. DB負荷が高い?
→ SQL監視を制限 2. コード処理が重い? → セグメントを制限 問題ある箇所は詳しく、ない箇所は軽く
もっと詳しく知りたい方へ • 公式ドキュメント “PHP agent overhead reduction tips” も読むとよい •
技術同人誌 『New Relicに詳しい人達が書 いた本』 • 第1章『初期設定から一歩先へ、APMの詳細 設定ガイド』にはより詳細に書かれています • かってね!
• APMを活用して快適な可観測ライフを! • ご清聴ありがとうございました