Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
DatadogAPMでAPIレイテンシを90%削減した話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
glaciermelt00
March 30, 2025
Programming
220
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
速習iPhone Duo対応
yuukiw00w
2
960
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
150
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
7
1.8k
wkhtmltopdfの次どうするか問題2026
willnet
2
1.8k
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
390
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
180
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
470
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
310
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
290
iOSDC2026登壇資料.pdf
riofujimon
0
210
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
340
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
580
Featured
See All Featured
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
390
Designing Powerful Visuals for Engaging Learning
tmiket
1
590
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Become a Pro
speakerdeck
PRO
31
6.3k
Done Done
chrislema
187
17k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
A Modern Web Designer's Workflow
chriscoyier
699
190k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
290
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
840
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 のさらなる活用方法 - 他プロダクトへの横展開 - バックエンドチームが自律的に改善アクションできる仕組みづくり - 自らパフォーマンス改善へチャレンジ
ご清聴ありがとうございました!