Automatic Workload Repository (AWR) は、データベースのパフォーマンス統計を収集して分析します。 AWRを使用して、データベースの動的ビューなどの統計から、指定した期間のデータベースパフォーマンスレポートを生成できます。
概要
PolarDB for PostgreSQLのグローバルAWRパフォーマンスレポート機能は、データベースリソース、上位SQL文、上位テーブル、上位インデックスの分析に加えて、従来のAWRレポートの境界をさらに拡張し、PolarDBクラスターのすべてのプライマリノードと読み取り専用ノードをカバーし、クラスターのグローバルな視点を提供します。 クラスタのパフォーマンスデータおよびイベント情報は、インスタンス例外分析のために収集される。 主要なメトリックの収集粒度は秒単位で正確です。 トレンドチャートは、Grafanaを使用してパフォーマンスのジッターの根本原因を特定します。
アーキテクチャとデータフロー
AWRアーキテクチャ
コレクションレイヤー: UEはプロキシプロセスとして物理マシンにデプロイされ、 PolarDB for PostgreSQLクラスターからパフォーマンスデータとイベント情報を収集します。
ストレージレイヤー: UEがデータを収集した後、収集したデータをクラスターに書き込むかどうかを設定できます。
プレゼンテーション層: Grafanaダッシュボードを使用して、分析とレポートを表示できます。 これを行うには、クラスターをデータソースとして設定し、ダッシュボード設定ファイルをGrafanaにインポートする必要があります。
プレゼンテーション
Grafanaダッシュボードを使用して、PolarDB for PostgreSQL のパフォーマンスの傾向とイベントを表示できます。 次の例を参照してください。
平均アクティブセッションのトレンドチャートは、パフォーマンス分析のために提供されます。 このグラフとリソース消費量を分析することで、データベースのパフォーマンスのボトルネックを特定できます。 イベント情報を分析して、パフォーマンスのジッターの根本原因を特定することもできます。 次の図は、20:09:22に切断が発生したことを示しています。

SQL文のメモリ使用量とメモリコンテキストを表示できます。

上位のSQL文と上位のテーブルの分析を表示することもできます。

これらの機能を有効化および構成する方法の詳細については、「使用方法」をご参照ください。
使用法
前提条件
カーネルバージョン
PolarDB for PostgreSQL のカーネルバージョンは20211231以降です。
次のステートメントを実行して、現在のカーネルバージョンを表示します。
polar_release_dateを表示します。次の結果は、現在のカーネルバージョンが20211231であることを示しています。
polar_release_date
--------------------
20211231
(1行) 権限
グローバルAWR機能の制御許可とデータ許可はPUBLICです。
タイムゾーン
PolarDB for PostgreSQL クラスターのデフォルトのタイムゾーンはUTCです。 パフォーマンスデータを表示するときは、タイムゾーンの時差を覚えておく必要があります。
グローバルAWRデータのローカルストレージ機能の有効化または無効化
グローバルAWRデータのローカルストレージ機能を有効にする必要があります。 グローバルAWR機能を有効にすると、スナップショットを定期的にトリガーすることなく、詳細なパフォーマンスレポートを生成できます。 postgresデータベースのpolar_gawr_collectionモードでパフォーマンスデータを表示できます。
主要なメトリックの場合、PolarDB For PostgreSQL は詳細な収集と書き込みを実行します。 グローバルAWR機能を有効にすると、追加のオーバーヘッドが発生します。 次の観点から、グローバルAWR機能が必要かどうかを慎重に評価する必要があります。
全体的なパフォーマンスのオーバーヘッド: 全体的なパフォーマンスの損失は10% 以内です。
ストレージオーバーヘッド: デフォルトでは、データは3日間保持されます。 3日間の最も細かいデータのサイズは、10 GB未満でなければなりません。
説明
postgresデータベースで次の操作を実行する必要があります。
グローバルAWRデータのローカルストレージ機能を有効にします。
SELECT polar_gawr_collection.enable_store_in_localdb();同様の出力が表示されます。
enable_store_in_localdb ------------------------- (1行)グローバルAWRデータのローカルストレージ機能を無効にします。
SELECT polar_gawr_collection.disable_store_in_localdb();同様の出力が表示されます。
disable_store_in_localdb -------------------------- (1行)グローバルAWRデータのローカルストレージ機能が有効かどうかを確認します。
SELECT polar_gawr_collection.show_store_in_localdb();同様の出力が表示されます。
show_store_in_localdb ----------------------- t (1行)
AWR情報を表示するためのGrafanaの設定
Grafanaのダウンロードとインストール
詳細については、「Grafanaのダウンロード」をご参照ください。 Grafana 8.1.2以降の使用を推奨します。
データソースの追加
PolarDB for PostgreSQLクラスターをPostgreSQLデータソースとして追加します。
Grafana を起動します。 左側のナビゲーションウィンドウで、[設定] > [データソース] を選択します。
[データソース] タブで、右上隅の [データソースの追加] をクリックします。

データベースクラスターの接続情報を入力します。
説明[データベース]フィールドにpostgresを入力します。
ダッシュボード設定ファイルのインポート
左側のナビゲーションウィンドウで、[+] > [インポート] を選択します。
[インポート] ページで、[JSONファイルのアップロード] をクリックして、ダッシュボード設定ファイルをインポートします。

PolarDB Global AWR-1712645731515..jsonをクリックして、ダッシュボード設定ファイルをダウンロードできます。 設定ファイルを解凍してから使用してください。