PostgreSQLパフォーマンス監視
概要
Applications ManagerのPostgreSQL監視は、データベース サーバーのパフォーマンスを、エンド・エンドでリアルタイムに可視化します。データベース利用率、応答時間、クエリのパフォーマンス、セッション詳細などのメトリックを監視し、PosgreSQLのステータスと可用性を、確認可能です。
当製品の利用によって、PostgreSQL環境のパフォーマンスを良好に保つことが可能となります。このドキュメントでは、PostgreSQLパフォーマンス監視の始め方と、監視するパラメーターを案内します。
新規PostgreSQLパフォーマンス監視を作成するには
サポートするバージョン :8.1以上
PostgreSQLメトリック監視の要件 :こちらをクリックしてください。
APIで新規PostgreSQLパフォーマンス監視を追加するには:こちらをクリックしてください。
GUIでPostgreSQLデータベース サーバー監視を作成するには、下記の手順で操作してください。
- 新規監視をクリックします。
- PostgreSQLを選択してください。
- データベース サーバー表示名を入力します。
- ホストのIPアドレスかホスト名を入力します。
- PostgreSQLを実行しているポートの番号を入力します。
- PostgreSQLデータベースにアクセス権限のあるユーザーの、ユーザー名とパスワードを指定してください。
- DB名を指定します。
- ポーリング間隔を入力します(分)。
- Enterprise EditionのAdminサーバーから新規監視を追加する場合は、Managedサーバーを選択してください。
- PostgreSQLデータベース サーバーを関連付ける監視グループを、コンボボックスから選択します(任意項目)。監視は複数グループに関連付け可能です。
- 監視の追加をクリックすると、ネットワークから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への情報書き込み量を決定します。
|
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センダー ステータスです。次の値があります。
|
同期ステータス | 9.2以降 | スタンバイ サーバーの同期ステータスです。次のものがあります。
|
送信ラグ | 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ファイルの場所を表します。 |