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
0
110
APMをインストールしただけで動かしてない?
demuyan
December 21, 2025
Tweet
Share
More Decks by demuyan
See All by demuyan
エンターテイメント業界で利用されるAWS
demuyan
0
530
AWS marketplaceでお手軽サーバ構築
demuyan
0
73
本のお題の決め方 / How to Choose a Better Theme for Your Book
demuyan
0
61
できる! ART
demuyan
6
5.3k
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.6k
Designing for humans not robots
tammielis
254
26k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.9k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Making Projects Easy
brettharned
120
6.6k
Building Adaptive Systems
keathley
44
2.9k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
Leo the Paperboy
mayatellez
4
1.4k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Tell your own story through comics
letsgokoyo
1
800
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を活用して快適な可観測ライフを! • ご清聴ありがとうございました