Slide 1

Slide 1 text

Performance Insights アップデート JAWS-UG 名古屋 オブザーバビリティ for AWS 2023/7/11 まつひさ(hmatsu47)

Slide 2

Slide 2 text

自己紹介…は書く時間がなかったのでスキップ 松久裕保(@hmatsu47) ● https://qiita.com/hmatsu47 2

Slide 3

Slide 3 text

本日のネタは ● Performance Inshghts 2022・2023 年のアップデート ○ DevOps Guru for RDS の有効化が簡単に(2022/6) ○ 履歴の保持期間を細かく選べるように(2022/7) ○ トップ SQL の表示が最大 10 件→ 25 件に(2022/9) ○ CloudWatch メトリクスとの統合ビューをサポート(2023/5) 3

Slide 4

Slide 4 text

本日のネタは ● 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/

Slide 5

Slide 5 text

おことわり ● 直前に LT 枠に移動して突貫で資料を作ったので ○ 使い回しが多い&詰めが甘いと思いますがご容赦ください ○ 運営の方も慌てたようで…? ● わたしが資料を作り始めたとき、内容欄には謎の「理央」が? →作り終わった頃には↓のとおり直っていました 5

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

表示される項目(従来ビュー) ● カウンターメトリクス ○ 性能に関係するカウンター値を個別にグラフ表示 ● データベース負荷 ○ 負荷の高さと内訳をグラフ表示 ● トップ待機・トップ SQL など ○ 負荷の大きな項目(上位から降順で表示) 7

Slide 8

Slide 8 text

表示される項目(新ビュー) ● データベース負荷 ○ 負荷の高さと内訳をグラフ表示 ● トップ待機・トップ SQL など(ディメンション) ○ 負荷の大きな項目(上位から降順で表示) ● メトリクスダッシュボード ○ CloudWatch メトリクス(固定項目 / カスタムダッシュボード) ■ カウンターメトリクスはこちらの「カスタムダッシュボード」に統合 8

Slide 9

Slide 9 text

新ビューで表示するには ● 上(新規)を選択 9

Slide 10

Slide 10 text

新ビューで表示してみる ● 保持階層 ?? 10

Slide 11

Slide 11 text

新ビューで表示してみる ● 保持期間の選択肢のことだった https://aws.amazon.com/jp/about-aws/whats-new/2022/07/amaz on-rds-performance-insights-additional-performance-history-rete ntion-periods/ 11

Slide 12

Slide 12 text

データベース負荷(おさらい) 12

Slide 13

Slide 13 text

データベース負荷(おさらい) ● 合計:単位時間あたり平均コネクション数 ● 内訳:待機イベント毎の所要時間 ○ 上位 9 個(※)+ CPU 時間(緑)で計 10 個 (※)「上位 9 個」は選択期間内における上位 9 個 ○ 正規化した SQL(文)上位 10 個の待機イベント内訳も表示可能 ■ SQL(文)正規化 ≠ DB(テーブル)正規化 ■ 空白・クォート等を揃え、 パラメータを「?」に置き換え ● トークン化 13

Slide 14

Slide 14 text

データベース負荷(おさらい) ● 合計:単位時間あたり平均コネクション数 ● 内訳:待機イベント毎の所要時間 ○ 上位 9 個(※)+ CPU 時間(緑)で計 10 個 (※)「上位 9 個」は選択期間内における上位 9 個 ○ 正規化した SQL(文)上位 10 個の待機イベント内訳も表示可能 ■ SQL(文)正規化 ≠ DB(テーブル)正規化 ■ 空白・クォート等を揃え、 パラメータを「?」に置き換え ● トークン化 14

Slide 15

Slide 15 text

データベース負荷(アップデート後) ● 合計:単位時間あたり平均コネクション数 ● 内訳:待機イベント毎の所要時間 ○ 上位 9 個(※)+ CPU 時間(緑)で計 10 個 (※)「上位 9 個」は選択期間内における上位 9 個 ○ 正規化した SQL(文)上位 25 個の待機イベント内訳も表示可能 ■ SQL(文)正規化 ≠ DB(テーブル)正規化 ■ 空白・クォート等を揃え、 パラメータを「?」に置き換え ● トークン化 15 増えた

Slide 16

Slide 16 text

待機イベント(おさらい) 16 時間が掛かる処理 ● ログの書き出し ○ MySQL の場合バイナリログもある ● なんらかのロック・mutex(排他制御の待ち時間) ● データの書き出し ● データの読み取り(ストレージから>メモリから) ● クライアントの接続

Slide 17

Slide 17 text

その他 ● DevOps Guru for RDS(2021/12 ~) ○ 機械学習を利用して性能および運用の問題を自動検出・診断 ○ Aurora MySQL / PostgreSQL と RDS for PostgreSQL に対応 ■ RDS for MySQL には現時点で非対応 ※今回は説明しません ■ うっかり RDS for MySQL で検証を進めてしまったので… 17

Slide 18

Slide 18 text

問題点(おさらい) ● 選択期間内の上位 10 件 ≠ 対象時間の上位 10 件の場合 (※)待機イベントの場合は CPU を含めて 10 件 ○ 一部の待機イベント・SQL(文)が漏れる ○ 合計値が本来より低くなる ■ 一般的なワークロードでは SQL(文)が数十種類以上になるはず ● 待機別よりも SQL 別のスライスのほうが実際の合計値から乖離しやすい 18

Slide 19

Slide 19 text

問題点(おさらい) ● 選択期間内の上位 10 件 ≠ 対象時間の上位 10 件の場合 (※)待機イベントの場合は CPU を含めて 10 件 ○ 一部の待機イベント・SQL(文)が漏れる ○ 合計値が本来より低くなる ■ 一般的なワークロードでは SQL(文)が数十種類以上になるはず ● 待機別よりも SQL 別のスライスのほうが実際の合計値から乖離しやすい 19

Slide 20

Slide 20 text

問題点(アップデート後) ● 選択期間内の上位 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

Slide 21

Slide 21 text

トップ SQL 21

Slide 22

Slide 22 text

メトリクスダッシュボード(固定項目) 22 https://aws.amazon.com/jp/about-aws/whats-new/2023/05/amazon-rds-performan ce-insights-enhanced-console/

Slide 23

Slide 23 text

メトリクスダッシュボード(カスタムダッシュボード) 23

Slide 24

Slide 24 text

デモ(時間があれば) 24

Slide 25

Slide 25 text

まとめ ● 履歴が 1 週間・2 年以外にも選択可能に ○ 1 ヶ月から 24 ヶ月まで 1 ヶ月単位で選択可能 ● トップ SQL の表示が最大 25 件に増加 ○ 負荷の表示がより正確に ● CloudWatch メトリクスとの統合ビューが利用可能に ○ 1 つの画面の中で確認しやすくなった 25