ロックツリー
ホーム画面 > プロジェクト選択 > 分析 > ロックツリー
一日の間に発生したロック(lock)の推移を分析するツールです。この機能によってロックを発生させたセッション(lock holder)と待機しているセッション(lock waiter)に対するツリー構造を視覚的に確認できます。特定時点で発生したロック情報のholderとwaiter間の関係を分析できます。
主な機能は次のとおりです。
-
ロック推移分析: 設定した照会期間中に発生したロックの推移を時間とともに追跡し、グラフで表示します。これにより、ロックがどのように発生し、解消されるかを視覚的に把握できます。
-
ロックHolderおよびWaiter確認: 各ロックに対するholderとwaiterをツリー構造で確認できます。これにより、特定のロックが発生した状況でロックを発生させたセッションと待機するセッションとの関係を把握できます。
-
セッション間の関係分析: ロックを発生させたセッションと待機するセッションとの関係を分析し、クエリー実行およびトランザクション処理過程で発生したロックの原因を識別できます。
これにより、データベース管理者はロック関連の問題を迅速に識別して解決でき、データベースの性能を最適化できます。
基本的な使い方
時間、 インスタンスで照会する日付と時間、インスタンスを選択します。設定した時間にロックが発生した場合は、Lock Wait Sessionsと下段のLock Treeテーブルに照会されているデータが表示されます。
-
1つのチャート内で最大2週間のデータを一度に確認できます。グラフチャートで特定の時間をクリックすると、画面下のテーブルから選択した時間のロック情報を確認できます。画面下の詳細情報から秒単位ボタンをクリックすると、5秒単位でロック情報を照会できます。
ノートLock Wait Sessionsチャートの右上に表示されているタグを通じて照会の単位を確認できます。
-
グラフチャートで特定時間領域をドラッグ(ドリルダウン)するほど、詳細時間のチャートとロックツリーを照会できます。
-
チャートで3時間以内にドラッグして、5秒単位のデータを照会できます。ただし、5秒単位のデータは、最近 1か月の範囲に限って照会できます。1か月前のデータは、5分要約データでしか閲覧できません。例えば、40 日前のロックトリックデータをドラッグ(ドリルダウン)すると、5分要約データは照会できますが、5秒データは照会できません。
カラム情報ガイド
- Active session
- Lock tree
- Process information
項目 | 説明 |
---|---|
pid | プロセスID |
db | データベース名 |
user | SQL実行アカウント |
application | クライアントアプリケーション名 |
client_host | 接続されたクライアントのホスト名(client_addr の逆引きDNS参照で報告されます) |
client_addr | クライアントのIPアドレス |
client_port | クライアントのポート番号(Unixソケットを使用する場合は-1) |
query_hash | クエリのハッシュ値(WhaTap内部管理値) |
query_start | 現在アクティブ状態のクエリが開始された時間(アクティブ状態でない場合、最後にクエリが開始された時間) |
state | バックエンドプロセスの現在の状態(active/idleなど) |
state_change | stateが変更された最近の時間 |
xact_start | そのプロセスの現在のトランザクションが開始された時間(アクティブトランザクションがない場合はnull ) |
backend_start | そのバックエンドプロセスが開始された時間 |
backend_xmin | バックエンドプロセスが処理中のxid の最小値 |
backend_type | バックエンドプロセスのタイプ、autovacuum worker 、logical replication launcher 、client backend 、checkpointer など |
backend_xid | バックエンドが使用中のxid |
wait_event_type | バックエンドプロセスが待機中のイベントtype |
wait_event | バックエンドプロセスが現在待機中の場合は、待機イベント名 |
WhaTapは、クライアントに関する情報をデフォルトで保存します。
項目 | 説明 |
---|---|
holder type | holder セッションのtype (transaction id、tupleなど) |
lock mode | holder_mode (exclusive lock、shared lockなど) |
waiter type | waiter セッションのtype (transaction id、tupleなど) |
lock request | waiter_mode (exclusive lock、shared lockなど) |
次の項目は、XOSエージェントをインストールした場合に収集される指標です。
項目 | 説明 |
---|---|
cputime | CPU使用時間 |
cpuusage | CPU使用率 |
elapse | CPU使用経過時間 |
vsize | 仮想メモリサイズ(Kb) |
rss | Resident Set Size(RSS)、プロセスに関連する物理ページ数 |
state | プロセス状態 |
ioread | ブロックの読み取りに費やされた実際の時間(milliseconds) |
iowrite | ブロックの書き込みに費やされた実際の時間(milliseconds) |
pss | プロセスの固有メモリ使用量 + 1つのプロセスが施入する共有メモリの割合 |
uid | user id |
cmd | 実行中のコマンド |
longcmd | cmdの絶対パス |