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から進みます。
次に対象となるRDSを選択しましょう。
これで確認する準備は完了です。
簡単に画面の見方も説明したいと思います。
■最大vCPU
DBインスタンスにおけるvCPU(仮想CPU)の最大容量です。
最大vCPUラインとの関係を調べることで、アクティブなセッションが最大CPU容量を超えているかどうかを確認できます。
■平均アクティブセッション(AAS)
平均アクティブセッションとは、
一定時間内に処理中または処理開始を待ちのセッションの数で、この数が多いほど DB に負荷がかかっているといえます。
また、画面上部のSliced by の所から何を基準にASSを表示させたいか切り替える事ができます。
例えば下記の場合だとグラフがほぼ緑なので、CPUがボトルネックとなっていると見てよいでしょう…。
■上位のSQL
一例として、待機イベントはボトルネックを示しますが、上位のSQLは、どのクエリがDBロードの最も大きな原因になっているかを示します。
ランキングの形式でとてもわかりやすく見せてくれます。
詳しくは以下を参照してください。
■新機能
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日間では見れなかった項目が増えてますね!
アナライズを選択し、
期間を選択し、「analyze performance」へ進むと…
しばらく待ってレポートが作成されました!
こんな感じです!(内は空ですが…)
以上です!