このページでは、Spanner インスタンスで実行されているクエリをモニタリングしてトラブルシューティングする方法について説明します。アクティブなクエリは、インスタンスのパフォーマンスに影響する可能性がある長時間実行クエリです。これらのクエリをモニタリングすると、インスタンスのレイテンシと CPU 使用率が高い原因を特定できます。
Google Cloud コンソールを使用して、Spanner の [クエリ分析情報] ページでアクティブなクエリを表示できます。これらのクエリは、クエリの開始時間で並べ替えられます。アクティブなクエリが多い場合、Spanner がデータ収集に適用するメモリの制約により、結果は合計クエリのサブセットに限定される可能性があります。
始める前に
アクティブなクエリを表示するために必要な権限を取得するには、インスタンスに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
Cloud Spanner 閲覧者(
roles/spanner.viewer
) -
Cloud Spanner データベース読み取り(
roles/spanner.databaseReader
)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
アクティブ クエリを表示する
各データベースのアクティブなクエリを表示するには、次の操作を行います。
Google Cloud コンソールで、Spanner [インスタンス] ページに移動します。
モニタリングするクエリを含むインスタンスをクリックします。
ナビゲーション メニューで [Query Insights] をクリックします。
[データベース] メニューを使用して、モニタリングするデータベースを指定します。
[アクティブなクエリ] タブをクリックします。このタブには、アクティブなクエリの概要と、実行時間が最も長い上位 50 件のアクティブなクエリの表が表示されます。
最も実行時間の長いクエリを表示する
次の表に、[アクティブなクエリ] タブの [最も実行時間の長いクエリ] の表の列を示します。
列名 | 説明 |
---|---|
クエリ ID | クエリの固有識別子。 |
クエリ | SQL クエリテキスト。 |
指紋 | REQUEST_TAG または SQL クエリテキストのハッシュ。 |
開始時刻 | クエリの開始時のタイムスタンプ。 |
クエリの実行時間 | アクティブなクエリの実行時間。 |
アクション | クエリを終了するためのリンクが含まれています。 |
[自動更新] がオンになっている場合、ディスプレイは 60 秒ごとに更新されます。
クエリを終了する
インスタンスで実行中のクエリを終了できます。クエリを終了すると、リソースを解放してインスタンスの負荷を軽減できます。クエリの終了はベスト エフォート オペレーションです。
終了を開始すると、 Google Cloud コンソール ページが更新されます。終了が成功すると、クエリはテーブルから削除されます。終了が失敗した場合は、バックグラウンドで失敗し、クエリは [最も実行時間の長いクエリ] テーブルに引き続き表示されます。
サーバーがビジー状態の場合、Spanner はクエリをキャンセルしないことがあります。クエリをもう一度終了してキャンセルできます。
クエリを終了するために必要な権限を取得するには、インスタンスに対する Cloud Spanner データベース リーダー(spanner.databaseReader
)IAM ロールを付与するよう管理者に依頼してください。
クエリを終了するには、次の操作を行います。
- [最も実行時間の長いクエリ] の表から、終了するクエリを選択します。
- [アクション] 列で [終了] をクリックします。
- [接続を終了] ウィンドウで、[確認] をクリックします。
次のステップ
- 詳しくは、クエリのパフォーマンスを分析するをご覧ください。
- 詳しくは、最も古いアクティブなクエリの統計情報をご覧ください。