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](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/954355/b8c2363a-c744-adf5-f751-18383b5468e1.png)

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

![インサイト2_20230904015927.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/954355/ee55c8ff-2e12-bb40-9b26-ef853fb74576.png)

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

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

# ■平均アクティブセッション（AAS） 

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

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

![スライス20230905133916.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/954355/16b41f30-845f-603d-54c5-f7a61ffdff46.png)

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

![緑20230905134121.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/954355/60e7bf13-588e-1136-e114-d76cfda74171.png)

# ■上位のSQL 

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

![上位SQL20230905134236.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/954355/e1fc4d55-3348-56db-8bfb-4a75ec549b10.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](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/954355/a061dbe8-fb55-4302-0343-9303290aec84.png)

アナライズを選択し、

![レポート2_20230906113508.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/954355/1230be8d-9138-ab8f-9628-9fcfb21a992f.png)

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

![レポート3_20230906113640.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/954355/2ea1ac6d-fda5-8c10-c07e-f7b38b5c25a9.png)

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

![[レポート4]20230906113901.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/954355/3fbed25d-f780-cace-abf1-332328a7dc7f.png)

こんな感じです！（内は空ですが…）

![[レポート5]20230906114141.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/954355/12b5e528-529a-ff06-151b-f8d1efba9135.png)

以上です！