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を選択しましょう。

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

インサイト2_20230904015927.png

これで確認する準備は完了です。

簡単に画面の見方も説明したいと思います。

■最大vCPU

DBインスタンスにおけるvCPU(仮想CPU)の最大容量です。

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

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

平均アクティブセッションとは、

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

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

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

例えば下記の場合だとグラフがほぼ緑なので、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を建てました。

なので中は空ですが…。

今回の検証の為、新たにRDSを建てました。

なので中は空ですが…。

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

レポート1_20230906113240.png
アナライズを選択し、

アナライズを選択し、

レポート2_20230906113508.png
期間を選択し、「analyze performance」へ進むと…

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

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

![[レポート4\]20230906113901.png ](https://camo.qiitausercontent.com/3e60a3427000353c14f0e01dc0bfa50006d880a3/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3935343335352f33666265643235642d663738302d636163652d616266312d3333323332386137646337662e706e67)

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

![[レポート5\]20230906114141.png ](https://camo.qiitausercontent.com/030f36a7ef14220fe9be8772cfe74ec0655456f9/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3935343335352f31326235653532382d353239612d666630362d313531622d6638643165666261393133352e706e67)

以上です!

この記事を書いた人

aws-recipe-user