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
Performance Insights アップデート
Search
hmatsu47
PRO
July 11, 2023
Technology
0
230
Performance Insights アップデート
JAWS-UG 名古屋 オブザーバビリティ for AWS 2023/7/11
hmatsu47
PRO
July 11, 2023
Tweet
Share
More Decks by hmatsu47
See All by hmatsu47
DynamoDB Global Tables MRSC・pgvector 0.8.0・caching_sha2_password 関連アップデート
hmatsu47
PRO
0
3
10 年(+1 年)の振り返りと 2025 年の活動予定
hmatsu47
PRO
0
13
RDS/Aurora アップデート(2024 年版)
hmatsu47
PRO
0
17
Aurora DSQL と楽観的同時実行制御(OCC)
hmatsu47
PRO
0
24
Claude 3.5 で Haiku
hmatsu47
PRO
0
18
HeatWave on AWS の PrivateLink インバウンドレプリケーションで Aurora フェイルオーバーに追従する
hmatsu47
PRO
0
20
大吉祥寺.pm の LT で ChatGPT の力を借りて Next.js App Router ベースの投句箱を作って、 Lambda Web Adapter を使って公開した話
hmatsu47
PRO
0
21
ある日突然 DB の性能が 1/2(サイズのインスタンス相当)になった話
hmatsu47
PRO
0
43
pgvectorscale と pgai の話(ざっくり)
hmatsu47
PRO
0
67
Other Decks in Technology
See All in Technology
普通のエンジニアがLaravelコアチームメンバーになるまで
avosalmon
0
670
駆け出しリーダーとしての第一歩〜開発チームとの新しい関わり方〜 / Beginning Journey as Team Leader
kaonavi
0
100
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
3
1.6k
ソフトウェア開発における「パーフェクトな意思決定」/Perfect Decision-Making in Software Development
yayoi_dd
2
2.7k
#TRG24 / David Cuartielles / Post Open Source
tarugoconf
0
470
10年もののバグを退治した話
n_seki
0
150
MasterMemory v3 最速確認会
yucchiy
0
340
30分でわかるデータ分析者のためのディメンショナルモデリング #datatechjp / 20250120
kazaneya
PRO
17
4.2k
Oracle Exadata Database Service(Dedicated Infrastructure):サービス概要のご紹介
oracle4engineer
PRO
0
12k
アジャイルチームが変化し続けるための組織文化とマネジメント・アプローチ / Agile management that enables ever-changing teams
kakehashi
3
2.9k
20250116_JAWS_Osaka
takuyay0ne
1
130
信頼されるためにやったこと、 やらなかったこと。/What we did to be trusted, What we did not do.
bitkey
PRO
0
1.9k
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Gamification - CAS2011
davidbonilla
80
5.1k
Agile that works and the tools we love
rasmusluckow
328
21k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
3
340
4 Signs Your Business is Dying
shpigford
182
21k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Optimizing for Happiness
mojombo
376
70k
Transcript
Performance Insights アップデート JAWS-UG 名古屋 オブザーバビリティ for AWS 2023/7/11 まつひさ(hmatsu47)
自己紹介…は書く時間がなかったのでスキップ 松久裕保(@hmatsu47) • https://qiita.com/hmatsu47 2
本日のネタは • Performance Inshghts 2022・2023 年のアップデート ◦ DevOps Guru for
RDS の有効化が簡単に(2022/6) ◦ 履歴の保持期間を細かく選べるように(2022/7) ◦ トップ SQL の表示が最大 10 件→ 25 件に(2022/9) ◦ CloudWatch メトリクスとの統合ビューをサポート(2023/5) 3
本日のネタは • Performance Inshghts 2022・2023 年のアップデート ◦ DevOps Guru for
RDS の有効化が簡単に(2022/6)←説明対象外 ◦ 履歴の保持期間を細かく選べるように(2022/7) ◦ トップ SQL の表示が最大 10 件→ 25 件に(2022/9) ◦ CloudWatch メトリクスとの統合ビューをサポート(2023/5) 4 2023/3 に Aurora MySQL / PostgreSQL で予測的インサイトをサポートした のですが、こちらも今回は説明対象外です。 https://aws.amazon.com/jp/about-aws/whats-new/2023/03/amazon-devops-guru-rds-proactive-insights/
おことわり • 直前に LT 枠に移動して突貫で資料を作ったので ◦ 使い回しが多い&詰めが甘いと思いますがご容赦ください ◦ 運営の方も慌てたようで…? •
わたしが資料を作り始めたとき、内容欄には謎の「理央」が? →作り終わった頃には↓のとおり直っていました 5
Performance Insights のおさらい • RDS / Aurora のパフォーマンス分析・モニタリング機能 ◦ RDS
/ Aurora の負荷とその内訳(など)を示す ◦ 過去に 2 回 JAWS-UG 名古屋でも解説 https://speakerdeck.com/hmatsu47/aurorapahuomansuinsaitowoshi-tutemiru(2021/1) https://speakerdeck.com/hmatsu47/rds-aurorapahuomansuinsaitofalsedetawoathenatoquicksi ghtdejian-ru(2021/5) 6
表示される項目(従来ビュー) • カウンターメトリクス ◦ 性能に関係するカウンター値を個別にグラフ表示 • データベース負荷 ◦ 負荷の高さと内訳をグラフ表示 •
トップ待機・トップ SQL など ◦ 負荷の大きな項目(上位から降順で表示) 7
表示される項目(新ビュー) • データベース負荷 ◦ 負荷の高さと内訳をグラフ表示 • トップ待機・トップ SQL など(ディメンション) ◦
負荷の大きな項目(上位から降順で表示) • メトリクスダッシュボード ◦ CloudWatch メトリクス(固定項目 / カスタムダッシュボード) ▪ カウンターメトリクスはこちらの「カスタムダッシュボード」に統合 8
新ビューで表示するには • 上(新規)を選択 9
新ビューで表示してみる • 保持階層 ?? 10
新ビューで表示してみる • 保持期間の選択肢のことだった https://aws.amazon.com/jp/about-aws/whats-new/2022/07/amaz on-rds-performance-insights-additional-performance-history-rete ntion-periods/ 11
データベース負荷(おさらい) 12
データベース負荷(おさらい) • 合計:単位時間あたり平均コネクション数 • 内訳:待機イベント毎の所要時間 ◦ 上位 9 個(※)+ CPU
時間(緑)で計 10 個 (※)「上位 9 個」は選択期間内における上位 9 個 ◦ 正規化した SQL(文)上位 10 個の待機イベント内訳も表示可能 ▪ SQL(文)正規化 ≠ DB(テーブル)正規化 ▪ 空白・クォート等を揃え、 パラメータを「?」に置き換え • トークン化 13
データベース負荷(おさらい) • 合計:単位時間あたり平均コネクション数 • 内訳:待機イベント毎の所要時間 ◦ 上位 9 個(※)+ CPU
時間(緑)で計 10 個 (※)「上位 9 個」は選択期間内における上位 9 個 ◦ 正規化した SQL(文)上位 10 個の待機イベント内訳も表示可能 ▪ SQL(文)正規化 ≠ DB(テーブル)正規化 ▪ 空白・クォート等を揃え、 パラメータを「?」に置き換え • トークン化 14
データベース負荷(アップデート後) • 合計:単位時間あたり平均コネクション数 • 内訳:待機イベント毎の所要時間 ◦ 上位 9 個(※)+ CPU
時間(緑)で計 10 個 (※)「上位 9 個」は選択期間内における上位 9 個 ◦ 正規化した SQL(文)上位 25 個の待機イベント内訳も表示可能 ▪ SQL(文)正規化 ≠ DB(テーブル)正規化 ▪ 空白・クォート等を揃え、 パラメータを「?」に置き換え • トークン化 15 増えた
待機イベント(おさらい) 16 時間が掛かる処理 • ログの書き出し ◦ MySQL の場合バイナリログもある • なんらかのロック・mutex(排他制御の待ち時間)
• データの書き出し • データの読み取り(ストレージから>メモリから) • クライアントの接続
その他 • DevOps Guru for RDS(2021/12 ~) ◦ 機械学習を利用して性能および運用の問題を自動検出・診断 ◦
Aurora MySQL / PostgreSQL と RDS for PostgreSQL に対応 ▪ RDS for MySQL には現時点で非対応 ※今回は説明しません ▪ うっかり RDS for MySQL で検証を進めてしまったので… 17
問題点(おさらい) • 選択期間内の上位 10 件 ≠ 対象時間の上位 10 件の場合 (※)待機イベントの場合は
CPU を含めて 10 件 ◦ 一部の待機イベント・SQL(文)が漏れる ◦ 合計値が本来より低くなる ▪ 一般的なワークロードでは SQL(文)が数十種類以上になるはず • 待機別よりも SQL 別のスライスのほうが実際の合計値から乖離しやすい 18
問題点(おさらい) • 選択期間内の上位 10 件 ≠ 対象時間の上位 10 件の場合 (※)待機イベントの場合は
CPU を含めて 10 件 ◦ 一部の待機イベント・SQL(文)が漏れる ◦ 合計値が本来より低くなる ▪ 一般的なワークロードでは SQL(文)が数十種類以上になるはず • 待機別よりも SQL 別のスライスのほうが実際の合計値から乖離しやすい 19
問題点(アップデート後) • 選択期間内の上位 10 件 ≠ 対象時間の上位 10 件の場合 (※)待機イベントの場合は
CPU を含めて 10 件 ◦ 一部の待機イベント・SQL(文)が漏れる ◦ 合計値が本来より低くなる ▪ 一般的なワークロードでは SQL(文)が数十種類以上になるはず • 2022/9 のアップデートで SQL(文)は 25 件に https://aws.amazon.com/jp/about-aws/whats-new/2022/09/amazon-rds-performance-insights-d isplaying-top-25-sql-queries/ 20
トップ SQL 21
メトリクスダッシュボード(固定項目) 22 https://aws.amazon.com/jp/about-aws/whats-new/2023/05/amazon-rds-performan ce-insights-enhanced-console/
メトリクスダッシュボード(カスタムダッシュボード) 23
デモ(時間があれば) 24
まとめ • 履歴が 1 週間・2 年以外にも選択可能に ◦ 1 ヶ月から 24
ヶ月まで 1 ヶ月単位で選択可能 • トップ SQL の表示が最大 25 件に増加 ◦ 負荷の表示がより正確に • CloudWatch メトリクスとの統合ビューが利用可能に ◦ 1 つの画面の中で確認しやすくなった 25