PostgreSQLパフォーマンス監視

概要

Applications ManagerのPostgreSQL監視は、データベース サーバーのパフォーマンスを、エンド・エンドでリアルタイムに可視化します。データベース利用率、応答時間、クエリのパフォーマンス、セッション詳細などのメトリックを監視し、PosgreSQLのステータスと可用性を、確認可能です。

当製品の利用によって、PostgreSQL環境のパフォーマンスを良好に保つことが可能となります。このドキュメントでは、PostgreSQLパフォーマンス監視の始め方と、監視するパラメーターを案内します。

新規PostgreSQLパフォーマンス監視を作成するには

サポートするバージョン :8.1以上

PostgreSQLメトリック監視の要件 こちらをクリックしてください。

APIで新規PostgreSQLパフォーマンス監視を追加するにはこちらをクリックしてください。

GUIでPostgreSQLデータベース サーバー監視を作成するには、下記の手順で操作してください。

  1. 新規監視をクリックします。
  2. PostgreSQLを選択してください。
  3. データベース サーバー表示名を入力します。
  4. ホストのIPアドレスホスト名を入力します。
  5. PostgreSQLを実行しているポートの番号を入力します。
  6. PostgreSQLデータベースにアクセス権限のあるユーザーの、ユーザー名パスワードを指定してください。
  7. DB名を指定します。
  8. ポーリング間隔を入力します(分)。
  9. Enterprise EditionのAdminサーバーから新規監視を追加する場合は、Managedサーバーを選択してください。
  10. PostgreSQLデータベース サーバーを関連付ける監視グループを、コンボボックスから選択します(任意項目)。監視は複数グループに関連付け可能です。
  11. 監視の追加をクリックすると、ネットワークからPostgreSQLデータベース サーバーを検出し、監視を始めます。

監視パラメーター

  • 可用性タブは、過去24時間か30日の、PostgreSQLデータベース サーバーの可用性履歴を表示します。
  • パフォーマンス タブでは、過去24時間か30日のステータスとイベントを表示します。
  • リスト ビュー タブでは、監視するPostgreSQLサーバーすべてと、その可用性やステータスを示します。バルク管理設定も実行可能です。

Applications ManagerのPostgreSQL監視では、データベース環境を次のタブに表示するメトリックで示します。

監視情報

パラメーター 説明
名前 PostgreSQLデータベース サーバー監視の名前を表します。
タイプ 監視しているリソースのタイプを表します。
ステータス PostgreSQLサーバーのステータスを表します(クリア、警告、重大)。
最新ポーリング時刻 最新のポーリングを実行した時刻を指します。
次回ポーリング時刻 次回のポーリングをスケジュールした時刻を指します。
可用性 現在のサーバー ステータスが、利用可能か不能かを示します。

概要

パラメーター 説明
接続統計
アクティブ接続 現在のデータベースへのアクティブ接続の数です。
総ユーザー データ収集の時点でアクティブなユーザーの総数を指します。
ロック統計
ロック保持 指定セッションが保持しているロックの数を指します。
ロック待期 データベースで待機しているロックの数を指します。
バッファー統計
バッファー ヒット数/分 バッファー ヒットの発生ペースを指します(数/分)。すなわち、バッファー キャッシュで既存ブロックが見つかり、ブロック読み込みリクエストが不要だった例をカウントします。
ブロック読み込み数/分 ディスク ブロック読み込み速度を指します(数/分)。
キャッシュ ヒット率 総リクエストに対するバッファー キャッシュ ヒットの現在の比率を表します。
ディスク利用率詳細
ディスク利用率 データベースにあるテーブルすべての情報が、ディスク上で占める容量を表します(MB)。
インデックス利用率 データベースにあるインデックスすべての情報が、ディスク上で占める容量を表します(MB)。
インデックス スキャン詳細
インデックス スキャン数/分 インデックス スキャン開始の発生ペースを表します(数/分)。
インデックス読み込み数/分 インデックス スキャンでインデックスのエントリが返されるの発生ペースを表します(数/分)。
インデックス取得数/分 インデックス スキャンによるライブ テーブル行取得の発生ペースを表します(数/分)。
クエリ統計
行INSERT数/分 各種スキャンで行が返ってくる速度を指します(数/分)。
行UPDATE数/分 行INSERTとUPDATEの発生ペースを指します(数/分)。
行DELETE数/分 行DELETEの発生ペースを表します(数/分)。
トランザクション詳細
総コミット コミットされたトランザクションの総数です。
総ロールバック ロールバックしたトランザクションの総数です。
コミット数/分 1分ごとのトランザクション コミット件数を表します。
ロールバック数/分 トランザクション ロールバックの発生ペースを指します(数/分)。
テーブル レベルのスキャン詳細
シーケンシャル スキャン数/分 シーケンシャル スキャンの発生ペースを表します(数/分)。
テーブル インデックス スキャン数/分 インデックス スキャンの発生ペースを表します(数/分)。
シーケンシャル スキャン行読み込み数/分 シーケンシャル スキャンから行が返ってくるペースを表します(数/分)。
テーブル インデックス スキャン行読み込み数/分 インデックス スキャンから行が返ってくるペースを表します(数/分)。
プライマリ データベース オブジェクト統計
総テーブル データベース サーバーにあるテーブルの総数です。
総トリガー データベース サーバーにあるトリガーの総数です。
総プロシージャ データベース サーバーにあるプロシージャの総数です。
最大テーブル サイズ データベースに存在する最大テーブルのサイズを表します。
最大テーブル データベースに存在する最大テーブルを指します。

パフォーマンス

パラメーター 説明
トップ クエリ:CPU
データベース名 クエリ実行先のデータベースの名前を表します。
総CPU時間 クエリ実行にかかった累積CPU時間です。
平均CPU時間 クエリ実行にかかった平均CPU時間を表します(ミリ秒)。
最大CPU時間 クエリ実行に費やした最長CPU時間をp指します(ミリ秒)。PostgreSQL 9.4以降でサポートしています。
クエリ 最長CPU時間を消費したSQLクエリを指します。
実行に時間のかかるクエリの詳細
プロセスID クエリが引き起こしたプロセスの識別子を指します。
実行時間 クエリがこれまで実行にかけ続けている時間を指します(ミリ秒)。
ユーザー名 クエリを実行しているユーザーの名前です。
クエリ 実行中だったSQLクエリです。
データベース名 クエリ実行対象となったデータベースの名前を指します。
トップ50テーブル行詳細
テーブル名 テーブルの名前です。
行数 テーブルに存在する行の数を指します。
テーブル サイズ テーブルのサイズです(MB)。

データベース

パラメーター 説明
データベース詳細
データベース名 データベース インスタンスの名前です
DBサイズ データベース インスタンスのサイズを表します(MB)。
接続 データベース インスタンスの接続の数を示します。

セッション

パラメーター 説明
セッション詳細
プロセスID PostgreSQLサーバーで実行中のセッションの、プロセスIDを表示します。
クライアント アドレス サーバーに接続しているクライアントのIPアドレスです。
アプリケーション名 セッションを確立したアプリケーションの名前です(PostgreSQL 9.0から利用可能)。
データベース名 プロセスが利用しているデータベースの名前を表示します。
ユーザー プロセスを実行中のユーザーのログイン名です。
ステータス PostgreSQLサーバー内のプロセスのステータスです(PostgreSQL 9.2から利用可能)。
ブロック済み プロセスがブロックされているか、それともロックを待期しているかを示します。
待期イベント 現在発生している待機イベントの名前とタイプを表示します(PostgreSQL 9.6から利用可能)。
クエリ プロセスでの最新実行SQLクエリです。
CPU時間 PostgreSQLサーバーで実行中のプロセスが費やした累積CPU時間です(ミリ秒)。

レプリケーション

パラメーター 利用可能バージョン 説明
レプリケーション詳細
WALファイル数 9.2以降 WALディレクトリにあるWALファイルの数を示します(ログ先行書き込み:Write Ahead Logging)。
現在のWALロケーション 9.2以降 最新の挿入箇所を示します。
WALレベル 9.2以降 wal_levelで、WALへの情報書き込み量を決定します。
  • バージョン10以降のデフォルト値はminimalです。クラッシュや即時シャットダウンからの復元に必要な情報だけを書き込みます。
  • バージョン10までのデフォルト値はreplicaです。WALアーカイブやレプリケーションに十分なデータを書き込みます。スタンバイ サーバーへ実行中の読み込み専用クエリも含みます。
  • その他、hot_standbyでは、minimalやreplicaでの情報にくわえ、スタンバイ サーバーで読み込み専用アクセスを実行するのに必要な情報を保存します。
WAL同期メソッド 9.2以降 wal_sync_methodは、ディスクへのWAL更新を強制するメソッドのパラメーターです。fsyncがオフの場合、WAL更新の強制は行われないため、この設定は意味をなしません。値には、open_datasync()、fdatasync()、fsync()、fsync_writethrough()があります[それぞれ、open()のオプションO_DSYNCでのWALファイル書き込み、コミットごとのfdatasync()呼び出し、コミットごとのfsync()呼び出し、コミットごとにfsync()を呼び出しディスク キャッシュから書き込み完遂を強制の意味]。
時刻指定チェック ポイント(checkpoints_timed) 9.2以降 スケジュール チェック ポイントの実行回数を指します。
リクエスト済みチェック ポイント(checkpoints_req) 9.2以降 リクエストされたチェック ポイントの実行回数を指します。
チェック ポイント時バッファー(buffers_checkpoint) 9.2以降 チェック ポイント時に書き込まれたバッファーの数を指します。
クリーン バッファー(buffers_clean) 9.2以降 バックグラウンド ライターが書き込んだバッファーの数です。
バックエンド バッファー(buffers_backend) 9.2以降 バックエンドからの直接バッファー書き込みの数です。
クライアント アドレス 9.2以降 クライアントかスタンバイ サーバーのアドレスを指します。
クライアント ポート 9.2以降 クライアントがWALセンダーとの通信に使うTCPポートを指します。
PID 9.2以降 WALセンダー プロセスのプロセスIDです。
アプリケーション名 9.2以降 WALセンダーに接続しているアプリケーションの名前です。
センダー ステータス 9.2以降 現在のWALセンダー ステータスです。次の値があります。
  • startup:WALセンダーが起動中です。
  • catchup:WALセンダーの接続済みスタンバイが、プライマリを追い上げています。
  • streaming:セカンダリ サーバーによるプライマリの追い上げが終わり、WALセンダーが変更のストリーミングを行っています。
  • backup:WALセンダーがバックアップを送信しています。
  • stopping:WALセンダーが停止しようとしています。
同期ステータス 9.2以降 スタンバイ サーバーの同期ステータスです。次のものがあります。
  • async:スタンバイ サーバーは非同期です。
  • potential:スタンバイ サーバーは非同期です。ただし、現在、同期中のものがダウンすれば、同期中に変わる可能性があります。
  • sync:スタンバイ サーバーは同期中です。
  • quorum:スタンバイ サーバーはクォーラム スタンバイの候補とされています。
送信ラグ 9.2以降 スタンバイへのトランザクション送信ラグを指します。
最新リプレイ箇所 9.2以降 最新のリプレイ箇所を示します。
書き込みラグ 9.2以降 トランザクションをスタンバイ機のディスクに書き込む際の遅延を指します。
フラッシュ ラグ 9.2以降 トランザクションをスタンバイ機のディスクにフラッシュする際の遅延を指します。
リプレイ ラグ 9.2以降 スタンバイ機でトランザクションをリプレイする際の遅延です。
総ラグ 9.2以降 マスターからスタンバイでのトランザクション リプレイに送信する際の総ラグを指します。
マスター ホスト 9.6以降 マスター ノードのホスト詳細です。
マスター ポート 9.6以降 マスター ノードのポートです。
マスター ユーザー 9.6以降 マスター ノードのユーザー詳細です。
レプリケーション遅延 9.1以降 最新のトランザクション受信から最新のトランザクション リプレイまでの時間差を表します。
レプリケーション スロット
スロット名 9.6以降 slot_nameは、クラスター全体でレプリケーション スロットを一意に特定できる識別子です。
9.6以降 slot_typeは、物理スロットか、論理スロットかを示します。
アクティブ 9.6以降 スロットが利用中であれば、trueです。
再起動LSN 9.6以降 restart_lsnは、消費者がスロットで使う可能性があるため、チェック ポイントで自動削除をしない、最古のWALのLSNを指します(Log Sequence Number)。
フラッシュ確認LSN(confirmed_flush_lsn) 9.6以降 論理スロットの消費者が、データ受信を確認した箇所までのLSNです(Log Sequence Number)。これより古いデータは、利用不能となります。物理スロットではnullです。

設定

パラメーター 説明
バージョン PosgreSQL Serverのバージョンです。
設定ファイル PostgreSQLサーバー設定ファイルの場所を表します。
データ ディレクトリ PostgreSQLサーバーのが利用するデータ ディレクトリの場所です。
外部PIDファイル 外部PIDファイルの場所を表します。
hbaファイル hbaファイルの場所を表します。
identファイル identファイルの場所を表します。