このトピックでは、セッション統計、セッションステータスなどを含むセッション診断情報を表示する方法について説明します。
セッション統計の表示
ApsaraDB for OceanBase コンソール にログインします。
左側のナビゲーションウィンドウで、[自律型サービス] > [診断センター] を選択します。
[インスタンスの詳細] セクションで、ターゲットインスタンスの名前をクリックします。
システムは自動的に診断センターにリダイレクトします。
左側のナビゲーションウィンドウで、[セッション診断] をクリックします。
[統計] セクションで、アクティブセッションとアイドルセッションを含む現在のセッション統計とテナントセッションの詳細を表示します。 [テナントセッション]、[セッション統計]、[デッドロック検出]、[行レベルロック分析] タブを使用して、テナントを選択し、対応する詳細を表示できます。
テナントセッションの表示
[テナントセッション] タブで、次の操作を行います。
[アクティブなセッションのみを表示] を選択して、アクティブなセッションを検索します。
[SQL ID でセッションを集計] を選択して、同じ SQL ID を持つセッションを集計します。
説明SQL ID で集計することにより、異なる SQL ID のトラフィックと消費量の比較を分析し、システムリソースのコンシューマーを確認できます。
[ユーザー] と [データベース名] でセッションをフィルタリングします。
[セッション ID]、[SQL]、[ソース]、[ターゲットエンド] でセッションを検索します。
[実行時間] でセッションを並べ替えます。
SQL 文をクリックして、[SQL 実行の詳細] ページに移動します。
次のいずれかの条件を満たす SQL 文の場合、[SQL 実行の詳細] ページには、以下の図に示すように、オペレーター実行計画とオペレーター実行の詳細が表示されます。
MONITOR ヒントを使用する SQL
並列実行に関連するヒントを使用する SQL
低速 SQL(実行時間が 5 秒を超える)
説明OBServer は V4.0 以降である必要があります。
高速で実行されるオペレーターの場合、統計が表示されない場合があります。
MONITOR ヒントについては、「MONITOR ヒント」をご参照ください。並列実行に関連するヒントについては、「並列実行に関連するヒント」をご参照ください。
その他の SQL 文の場合、[SQL 実行の詳細] ページには、オペレーター実行計画のみが表示されます。
ターゲットセッションを閉じます。
単一のセッションを閉じるには、ターゲットセッションの [操作] 列の [セッションを閉じる] をクリックします。
複数のセッションを閉じるには、ターゲットセッションの前にあるチェックボックスをオンにして、右側の [バッチでセッションを閉じる] をクリックします。
すべてのセッションを閉じるには、次の手順を実行します。
[セッション ID] の左側にあるチェックボックスをオンにして、右側の [バッチでセッションを閉じる] をクリックします。
任意のセッションを選択し、上にある [すべて選択] をクリックしてから、右側の [バッチでセッションを閉じる] をクリックします。
ポップアップ確認ボックスで、[OK] をクリックします。
セッション統計の表示
[セッション統計] タブで、次の操作を行います。
ユーザー、アクセスソース、またはデータベース別に、現在のクラスタのアクティブセッション数とセッション総数を表示またはエクスポートします。
右上隅にある [10 秒 SQL 分析] をクリックして、10 秒以内のテナントにおける SQL 文の実行を分析します。 [SQL タイプ]、[ユーザー]、[ソース]、[データベース] 別に分析結果を表示できます。
デッドロック検出の表示
[デッドロック検出] タブで、次の操作を行います。
デッドロック検出を初めて使用する場合は、[デッドロック検出をオンにする] をクリックします。デッドロック検出が有効になると、ApsaraDB for OceanBase はリアルタイムでデッドロックイベントを検出して処理します。これには、システムリソースの約 2% が消費されます。クラスタの状況に基づいて、デッドロック検出を有効にするかどうかを選択します。
説明デッドロック検出は、ApsaraDB for OceanBase V4.x でのみサポートされています。
デッドロック検出が有効になると、システムはクラスタのテナントにデッドロックがあるかどうかを検出し、[デッドロックの詳細] セクションに検出結果を提供します。結果は 7 日間保持されます。
右上隅にある [デッドロック検出をオフにする] をクリックしてデッドロック検出を無効にするか、[更新] をクリックしてデッドロック検出の詳細を更新します。
行レベルロック分析の表示
[行レベルロック分析] タブで、次の操作を行います。
行情報とロックに関係するセッションの数を表示します。
ターゲットテナントを選択して、その行ロック情報を表示します。
ロックを保持しているセッションを解放するには、セッションを閉じます。セッションを閉じる前に、セッションとそこで実行されているビジネス SQL 文を安全に終了できることを確認してください。
説明行レベルロック分析はリアルタイムクエリ機能であり、クエリ時にロック待ち時間が 20 ミリ秒を超える行ロックと関連するセッション情報のみを表示します。この機能は、ApsaraDB for OceanBase Database V4.2.0 以降でのみサポートされています。
行ロック情報に遅延が発生する場合があります。ロックホルダーのセッション ID が表示されない場合は、トランザクションがすでに完了している可能性があります。