データベース資源を監視するには、各種のシステムビューを利用します。システムビューを利用すると、現在の状態や今までの累積情報を参照できます。システムビューを定期的に監視することでデータベース資源の監視が可能です。
ここでは、代表的なシステムビューについて説明します。
pg_stat_databaseを確認します。
コミットされた回数が確認できますので、定期的に参照することで、スループットを算出できます。アクティブなアプリケーションの多重度が変わらないにも関わらず、スループットが低下している場合は、以下のシステムビューを参照して分析します。
pg_locksを確認します。
複数のトランザクションから同一の資源をロックしていたり、ロック待ちの場合は、同じロック対象オブジェクトが多く出現します。同一の資源を同時に参照しないように、アプリケーションを見直してください。
pg_stat_activityを確認します。
接続中のコネクションの数だけレコードが返却されます。アクティブなコネクションが多く存在すれば、CPU使用率が向上します。また、現在実行中のSQL文がロックにより待たされているかどうかを確認できます。アクティブなコネクションが想定している数より多い場合は、アプリケーションを見直してください。
読込みレコード数、読込みブロック数は、以下のシステムビューで確認します。
pg_stat_database
pg_stat_user_tables
pg_stat_user_indexes
pg_statio_user_tables
pg_statio_user_indexes
データベース、表、インデックスごとのレコードおよびブロックの読込み回数が確認できます。累積値のため、定期的に確認し、想定している読込み回数より多い場合は、SQL文に指定している条件を見直してください。
参照
システムビューについては、“A.2 システムビュー一覧”を参照してください。
HA Database Readyの基本スペックについては、“利用ガイド”の“基本スペック”を参照してください。
参考
Open SQLのAPIはPostgreSQLと互換があるため、オープンソースで公開されているツールを利用して、データベース資源の監視を行うことが可能です。