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
220
Performance Insights アップデート
JAWS-UG 名古屋 オブザーバビリティ for AWS 2023/7/11
hmatsu47
PRO
July 11, 2023
Tweet
Share
More Decks by hmatsu47
See All by hmatsu47
Claude 3.5 で Haiku
hmatsu47
PRO
0
8
HeatWave on AWS の PrivateLink インバウンドレプリケーションで Aurora フェイルオーバーに追従する
hmatsu47
PRO
0
8
大吉祥寺.pm の LT で ChatGPT の力を借りて Next.js App Router ベースの投句箱を作って、 Lambda Web Adapter を使って公開した話
hmatsu47
PRO
0
8
ある日突然 DB の性能が 1/2(サイズのインスタンス相当)になった話
hmatsu47
PRO
0
30
pgvectorscale と pgai の話(ざっくり)
hmatsu47
PRO
0
49
pgvector 0.7.0 の新機能と、これから来る(かもしれない)pgvectorscale
hmatsu47
PRO
0
35
大人の社会科見学 ~ NTT 技術史料館に行ってみよう!
hmatsu47
PRO
0
420
pgvector 0.6.0 以降の進化についてざっくり取り上げてみる
hmatsu47
PRO
0
64
Cloudflare Workes からMySQL 系 DB への接続事情(2024/4 現在)
hmatsu47
PRO
0
130
Other Decks in Technology
See All in Technology
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
120
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
1
320
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
210
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
120
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
610
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
380
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
220
生成AIが変えるデータ分析の全体像
ishikawa_satoru
0
150
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
150
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
130
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
430
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
130
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
4 Signs Your Business is Dying
shpigford
180
21k
Producing Creativity
orderedlist
PRO
341
39k
Designing for humans not robots
tammielis
250
25k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Code Reviewing Like a Champion
maltzj
520
39k
Unsuck your backbone
ammeep
668
57k
BBQ
matthewcrist
85
9.3k
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