RDS Performance Insightsのおさらいと新機能

RDS Performance Insightsについて改めて調べ直しました!
あと新機能について書いていきます!

■まずパフォーマンスインサイトとは

引用すると、

データベースパフォーマンスのチューニングとモニタリングを行う機能で、データベースの負荷をすばやく評価し、いつどこに措置を講じたらよいかを判断するのに役立ちます。
Performance Insights のダッシュボードはわかりやすく、データベースの負荷が可視化されるため、専門的知識のないユーザーでもパフォーマンスの問題を検出できます。

データベースの負荷が可視化されるため、専門的知識のないユーザーでもパフォーマンスの問題を検出できます。

とのこと。

Amazon RDS での Performance Insights を使用したDB 負荷のモニタリング
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_PerfInsights.html

■利用料金

無料利用の範囲は以下です。

・7日間分のパフォーマンスデータ履歴
・1か月あたり 100 万件のリクエスト

長期的に保存して、パフォーマンスを見る事も可能です。
最大2年間のパフォーマンス履歴を有料で保存することもできます。

API リクエスト
https://aws.amazon.com/jp/rds/performance-insights/pricing/#API_Requests

■インサイトを使用できないケース

RDS for MySQL や RDS for MariaDBでは、以下のようなt系の一部で使用できないケースもありますので注意しましょう。

・RDS for MySQL や RDS for MariaDBで一部使用できないクラス
db.t2.micro
db.t2.small
db.t3.micro
db.t3.small
db.t4g.micro
db.t4g.small

以下から確認ができます。

Amazon RDS DB エンジンとインスタンスクラスでサポートされている Performance Insights
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.Engines.html

Performance Insights のAmazon Aurora DB エンジン、リージョン、インスタンス クラスのサポート
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.Overview.Engines.html

■パフォーマンスインサイト使用で少し負荷があがる?

中でエージェントを動かす為、多少はリソースを使用しますがほとんど影響がない範囲と言って良さそうです。
更にDBの負荷が高い場合は、エージェントによるデータ収集の頻度を下げることでパフォーマンスへの影響を抑える仕様となっているとのこと。

■Performance Insightsを見てみる

コンソールから見てみましょう。
RDSの左側、Performance Insightsから進みます。

インサイト1_20230904015835.png

次に対象となるRDSを選択しましょう。

インサイト2_20230904015927.png

これで確認する準備は完了です。
簡単に画面の見方も説明したいと思います。

■最大vCPU

DBインスタンスにおけるvCPU(仮想CPU)の最大容量です。
最大vCPUラインとの関係を調べることで、アクティブなセッションが最大CPU容量を超えているかどうかを確認できます。

■平均アクティブセッション(AAS)

平均アクティブセッションとは、
一定時間内に処理中または処理開始を待ちのセッションの数で、この数が多いほど DB に負荷がかかっているといえます。

また、画面上部のSliced by の所から何を基準にASSを表示させたいか切り替える事ができます。

スライス20230905133916.png

例えば下記の場合だとグラフがほぼ緑なので、CPUがボトルネックとなっていると見てよいでしょう…。

緑20230905134121.png

■上位のSQL

一例として、待機イベントはボトルネックを示しますが、上位のSQLは、どのクエリがDBロードの最も大きな原因になっているかを示します。
ランキングの形式でとてもわかりやすく見せてくれます。

上位SQL20230905134236.png

詳しくは以下を参照してください。

データベース負荷
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.ActiveSessions.html

■新機能

Performance Insightsの新機能についてですが、分析エクスペリエンスを提供できるようになったとの事でレポートのような機能が期待できるんでしょうか…?
新機能の使用には以下の縛りがあります。

・期間を1か月以上に設定する必要がある(無料の7日間ではできない)
・Aurora MySQL、 Aurora PostgreSQL、 RDS for PostgreSQL で利用可能。

Amazon RDS Performance Insights でオンデマンドの分析エクスペリエンスを提供
https://aws.amazon.com/jp/about-aws/whats-new/2023/08/amazon-rds-performance-insights-on-demand-analysis-experience/

一定期間のデータベースのパフォーマンスを分析する
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.UsingDashboard.AnalyzePerformanceTimePeriod.html

■少し検証

今回の検証の為、新たにRDSを建てました。
なので中は空ですが…。

7日間では見れなかった項目が増えてますね!

レポート1_20230906113240.png

アナライズを選択し、

レポート2_20230906113508.png

期間を選択し、「analyze performance」へ進むと…

レポート3_20230906113640.png

しばらく待ってレポートが作成されました!

[レポート4]20230906113901.png

こんな感じです!(内は空ですが…)

[レポート5]20230906114141.png

以上です!

この記事を書いた人

aws-recipe-user