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
180
Performance Insights アップデート
JAWS-UG 名古屋 オブザーバビリティ for AWS 2023/7/11
hmatsu47
PRO
July 11, 2023
Tweet
Share
More Decks by hmatsu47
See All by hmatsu47
Cloudflare Workes からMySQL 系 DB への接続事情(2024/4 現在)
hmatsu47
PRO
0
9
BuriKaigi2024 にボランティアスタッフとして参加した話
hmatsu47
PRO
0
56
Aurora MySQL と Redshift の zero-ETL 統合のフィルター機能を試してみた
hmatsu47
PRO
0
25
Aurora MySQL 3.06 の ML 機能で Bedrock アクセスを試してみた
hmatsu47
PRO
0
44
RDS Data API と Aurora zero-ETL 統合と BuriKaigi2024 の話
hmatsu47
PRO
0
17
RDS Data API のその後と Aurora zero-ETL 統合のデータ転送処理の話
hmatsu47
PRO
0
48
RDS_Aurora 関連アップデート 2023 版
hmatsu47
PRO
0
71
人工無能たいたん
hmatsu47
PRO
0
63
20 世紀末の地方税理士事務所で IT 導入の 1 → 10 を頑張った話
hmatsu47
PRO
0
39
Other Decks in Technology
See All in Technology
Amplify 🩷 Bedrock 〜生成AI入門〜
minorun365
PRO
10
1.2k
M5stackで使用できるpHセンサの開発
shinrinakamura
1
300
cgroup v2 で何が変わったのか / TechFeed Experts Night #28
tenforward
2
140
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
16
6.7k
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
0
1.9k
高専で制御を、大学でセンシングを学び、次は脳みそ
satoshirobatofujimoto
0
120
Max out Local LLM in Challenging Environments
sashimimochi
2
230
【TSkaigi】2024/05/11 当日スライド
kimitashoichi
12
3.4k
TDD - Test Driven Drupal
opdavies
0
3k
ルーターでプレゼンする
puhitaku
1
3.4k
類似ロジック実装をiOS/Android間で合わせる道標No.1
fumiyasac0921
1
200
kcp: Kubernetes APIs Are All You Need #techfeed_live / TechFeed Experts Night 28th
ytaka23
1
180
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
21
2k
Infographics Made Easy
chrislema
238
18k
Gamification - CAS2011
davidbonilla
77
4.6k
Testing 201, or: Great Expectations
jmmastey
30
6.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
0
83
The Pragmatic Product Professional
lauravandoore
26
5.9k
Fireside Chat
paigeccino
22
2.7k
Statistics for Hackers
jakevdp
790
220k
Product Roadmaps are Hard
iamctodd
45
9.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
Typedesign – Prime Four
hannesfritz
36
2.1k
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