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
DatadogAPMでAPIレイテンシを90%削減した話
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
glaciermelt00
March 30, 2025
Programming
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DatadogAPMでAPIレイテンシを90%削減した話
glaciermelt00
March 30, 2025
Other Decks in Programming
See All in Programming
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
290
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
数百円から始めるRuby電子工作
tarosay
0
130
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1.1k
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
340
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
820
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
410
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
960
React本体のコードリーディング
high_g_engineer
1
130
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
150
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
470
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
140
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
420
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
400
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.3k
Design in an AI World
tapps
1
270
Side Projects
sachag
455
43k
Marketing to machines
jonoalderson
1
5.6k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
350
Technical Leadership for Architectural Decision Making
baasie
3
460
Fireside Chat
paigeccino
42
4k
Skip the Path - Find Your Career Trail
mkilby
1
180
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Transcript
Datadog APM で API レイテ ンシを 1/10 に改善した話 ぐらめる
今更 Datadog APM の話 … ? - 話そうと思ったきっかけ - 未導入の方に
APM の魅力を伝えたい - 数値で語れることの大事さ - 可視化の力
ある日の弊社 そろそろ APM 導入したいね。 原田さん、どう? やりましょう! 二つ返事で導入することに
Datadog は名前だけ聞いたことあるけど・・・ どんな サービス? 全くわからないところからスタート
よくよく社内のドキュメントを漁ると・・・ Datadog APM に トライしていた! が、本番環境でサー バーダウンするた め白紙に 再度チャレンジ!
早速営業の方にデモを見せてもらう めちゃくちゃ便利! 感動! 絶対に導入したい!
Who are you ? ぐらめる(原田 丈) ~‘21 生産技術・購買 @日産 ‘21~ SWE
‘23~ SRE main @スタイルポート
登壇のきっかけ - Datadog APM によるレイテンシ可視化がきっかけでプロダクトのパフォーマ ンスが劇的に改善 - 感動したので皆様にお裾分け - Datadog
導入に足踏みされている方の後押しとなれば - より深い気づき - こんなサービスあるよ!など、フィードバックいただけるとありがたいです
導入の背景 なぜ APM を導入しようと思ったの か? どのような課題があったのか?
導入のきっかけと背景 なぜ APM を導入しようと思ったのか? どのような課題があったのか? - API パフォーマンスがどの程度のレベルか把握できていない状態なので、現 状把握したい -
パフォーマンスに問題がある場合、ユーザーからのフィードバックを待たずに 改善したい
インフラ構成 ECS Fargate 上で動作する Ruby on Rails アプリケーションに Datadog APM
を 導入
ボトルネックの特定と改善 - どのような問題があったのか? - 特定の API でレイテンシが高い状態 - どの指標を見て、どう改善を進めたのか? -
p99 レイテンシが高い API の特定 - トレースのフレームグラフ で問題のある要素の特定 - コントローラ・シリアライザ・SQL クエリ・外部通信など
具体例 8秒近くかかっているリクエストの内訳を見ると、/histories APIのリスト取得の 時間がほとんどだった。
具体的な改善アプローチ - パフォーマンス悪化の原因 - historyUseCase.Listにて、はじめにGetByUseCase(企業 x UseCase) でDynamoDBから取得 し、それからメモリ上でフィルタリングしている。 -
GetByUseCaseではカーディナリティが低く、時間と共に取得件数が単調増加してしまう。 - stage環境にて試したところ、DynamoDBからの取得で15万件ヒット、7~10秒かかっていた。 - 対応方針 - 第一フィルタリングをGetByUseCaseではなく、優先度に応じて1度だけ行うようにした。 - Objectのカーディナリティは極めて高く、フィルタリング効果が大きいのでObjectが指定され ているクエリについてはパフォーマンスが大きく改善する。 - 既存のhistory APIのコールを一通り確認したが、概ねObjectが指定されていたので全体的に改 善するのではないかと期待。 - 結果 - Object指定のリクエストについては 7s → 54ms に改善した。
継続的な改善と今後の展望 - どのようにレイテンシをモニタリングし続けているか? - daily - Dashboards にレイテンシ用ダッシュボードを作成してモニタリング(目視) - 全体的に不安定なため、アラームは未設置
継続的な改善と今後の展望 - monthly - APM > Service > Endpoints でレイテンシの高い
API を特定 - 合計時間(ユーザーが消費した時間) > リクエスト数 > p99 レイテンシ を比較し、規 定以上の API を特定 - 例: 過去 1 ヶ月で 合計時間 30 min 以上、リクエスト数 100 以上、p99 レイテン シ 1s 以上の API
まだ残っている課題と今後の改善ポイント - toB サービスの API が目標を上回っている状態 - toC サービスでもまれにスパイクが発生し、目標を上回ることが懸念される -
月1 でバックエンドチームでレイテンシの状況確認 - 優先度をつけてパフォーマンス改善対象の API を特定 - PM チームに状況共有しチケット化・アサイン・リリース時期を調整
Datadog APM のさらなる活用方法 - 他プロダクトへの横展開 - バックエンドチームが自律的に改善アクションできる仕組みづくり - 自らパフォーマンス改善へチャレンジ
ご清聴ありがとうございました!