RDS PostgreSQL での SQL 統計 - Amazon Relational Database Service

RDS PostgreSQL での SQL 統計

Performance Insights は、SQL 呼び出しごとおよびクエリが実行中の 1 秒ごとに SQL 統計を収集します。RDS for PostgreSQL は SQL 統計をダイジェストレベルでのみ収集します。ステートメントレベルでは、統計は表示されません。

RDS for PostgreSQL のダイジェストレベルの統計の詳細については、以下を参照してください。

RDS PostgreSQL でのダイジェスト統計

SQL ダイジェストの統計を表示するには、RDS PostgreSQL が pg_stat_statements ライブラリをロードする必要があります。PostgreSQL 11 以降と互換性のある PostgreSQL DB インスタンスでは、このライブラリはデフォルトでロードされます。PostgreSQL 10 以前と互換性のある PostgreSQL DB インスタンスでは、このライブラリをマニュアルで有効にします。手動で有効にするには、DB インスタンスに関連付けられた DB パラメータグループの shared_preload_librariespg_stat_statements を追加します。次に DB インスタンスを再起動します。詳細については、「Amazon RDS のパラメータグループ」を参照してください。

注記

Performance Insights は、切り捨てられない pg_stat_activity 内のクエリの統計のみを収集できます。デフォルトでは、PostgreSQL データベースは 1,024 バイトより長い問い合わせを切り捨てます。問い合わせサイズを増やすには、DB インスタンスに関連付けられた DB パラメータグループの track_activity_query_size パラメータを変更します。このパラメータを変更した場合は、DB インスタンスの再起動が必要です。

RDS PostgreSQL での秒単位のダイジェスト統計

PostgreSQL DB インスタンスでは、次の SQL ダイジェストの統計を使用できます。

メトリクス 単位
db.sql_tokenized.stats.calls_per_sec 1 秒あたりの呼び出し数
db.sql_tokenized.stats.rows_per_sec 1 秒あたりの行数
db.sql_tokenized.stats.total_time_per_sec 1 秒あたりの平均アクティブ実行 (AAE)
db.sql_tokenized.stats.shared_blks_hit_per_sec 1 秒あたりのブロックヒット数
db.sql_tokenized.stats.shared_blks_read_per_sec 1 秒あたりのブロック読み取り数
db.sql_tokenized.stats.shared_blks_dirtied_per_sec 1 秒あたりのダーティになったブロック数
db.sql_tokenized.stats.shared_blks_written_per_sec 1 秒あたりのブロック書き込み数
db.sql_tokenized.stats.local_blks_hit_per_sec 1 秒あたりのローカルブロックヒット数
db.sql_tokenized.stats.local_blks_read_per_sec 1 秒あたりのローカルブロック読み取り数
db.sql_tokenized.stats.local_blks_dirtied_per_sec 1 秒あたりのローカルブロックのダーティの数
db.sql_tokenized.stats.local_blks_written_per_sec 1 秒あたりのローカルブロック書き込み数
db.sql_tokenized.stats.temp_blks_written_per_sec 1 秒あたりの一時的な書き込み数
db.sql_tokenized.stats.temp_blks_read_per_sec 1 秒あたりの一時的な読み取り数
db.sql_tokenized.stats.blk_read_time_per_sec 1 秒あたりの平均的な同時読み取り数
db.sql_tokenized.stats.blk_write_time_per_sec 1 秒あたりの平均的な同時書き込み数

RDS PostgreSQL のコールごとのダイジェスト統計

以下のメトリクスは、SQL ステートメントの呼び出しごとの統計を提供します。

メトリクス 単位
db.sql_tokenized.stats.rows_per_call 呼び出しごとの行数
db.sql_tokenized.stats.avg_latency_per_call 呼び出しごとの平均レイテンシー (ミリ秒)
db.sql_tokenized.stats.shared_blks_hit_per_call 呼び出しごとのブロックヒット数
db.sql_tokenized.stats.shared_blks_read_per_call 呼び出しごとのブロック読み取り数
db.sql_tokenized.stats.shared_blks_written_per_call 呼び出しごとのブロック書き込み数
db.sql_tokenized.stats.shared_blks_dirtied_per_call 呼び出しあたりのダーティになったブロック数
db.sql_tokenized.stats.local_blks_hit_per_call 呼び出しあたりのローカルブロックヒット数
db.sql_tokenized.stats.local_blks_read_per_call 呼び出しあたりのローカルブロック読み取り数
db.sql_tokenized.stats.local_blks_dirtied_per_call 呼び出しあたりのローカルブロックのダーティの数
db.sql_tokenized.stats.local_blks_written_per_call 呼び出しあたりのローカルブロック書き込み数
db.sql_tokenized.stats.temp_blks_written_per_call 呼び出しあたりのテンポラリブロック書き込み数
db.sql_tokenized.stats.temp_blks_read_per_call 呼び出しあたりのテンポラリブロック読み取り数
db.sql_tokenized.stats.blk_read_time_per_call 呼び出しごとの読み取り時間 (ミリ秒)
db.sql_tokenized.stats.blk_write_time_per_call 呼び出しごとの書き込み時間 (ミリ秒)

これらのメトリクスの詳細については、PostgreSQL ドキュメントの「pg_stat_statements」を参照してください。