システム アクティビティの [クエリのパフォーマンス指標] Explore では、Looker インスタンスから実行された各クエリの詳細な内訳を確認できます。
たとえば、この Explore を使用して、読み込みに最も時間がかかるクエリのコンポーネントを調べることができます。この Explore を使用して、クエリのパフォーマンスの傾向と異常を特定することもできます。
[System Activity] で使用できる Explore の詳細については、System Activity Explore を使用した Looker 使用状況レポートの作成に関するドキュメント ページをご覧ください。
クエリのパフォーマンス指標の確認
クエリ パフォーマンス指標は、System Activity の [Query Performance Metrics] で確認できます。クエリ パフォーマンス指標の Explore を表示するには、Looker 管理者であるか、see_system_activity
権限を持っている必要があります。
Looker のクエリのライフサイクルの把握
Looker がデータベースに送信する各クエリは複数のフェーズを通過し、それぞれにいくつかのステップがあります。これらの各ステップは、クエリのパフォーマンス指標の Explore でディメンションとして表されています。
大まかに、各フェーズは次のようになります。
- 非同期ワーカー フェーズ: まず、クエリタスクが使用可能な非同期ワーカーに割り当てられます。使用可能なワーカーがない場合、待機時間が発生する可能性があります。
- 初期化フェーズ: 非同期ワーカーが割り当てられると、Looker インスタンスはいくつかの初期化ステップを実行してクエリを準備します。
- 接続処理フェーズ: 初期化が完了すると、Looker インスタンスは顧客データベースへの接続を確立します。
- メインクエリ フェーズ: Looker インスタンスが顧客データベースへの接続を確立すると、メインクエリが顧客データベースで実行されます。クエリに対して選択されたオプションによっては、合計など、結果を計算するための追加のクエリも実行される可能性があります。クエリがストリーミングされていない場合、クエリは Looker インスタンスのメモリに読み込まれます。その後、Looker インスタンスから顧客データベースへの接続が終了します。
- クエリ後のフェーズ: 最後に、Looker インスタンスはクエリ後のステップを複数実行して、クエリを次の宛先のために準備します。この時点で、非同期ワーカーが解放されます。
クエリのパフォーマンス指標
以降のセクションでは、各クエリのフェーズとクエリのステップを時系列順に示します。
非同期ワーカー フェーズの指標
クエリのステップ | 指標の説明 |
---|---|
Queued |
非同期ワーカーがクエリを実行できるようになるまでクエリが待機するのに費やした時間(秒)。 |
Async processing |
非同期ワーカーがクエリに費やした時間(秒)。ワーカーは、クエリ後のフェーズが完了するまでクエリの処理を続けます。そのため、この指標は、このページの他のほとんどの指標と重複します。 |
初期化フェーズの指標
クエリのステップ | 指標の説明 |
---|---|
Model Init: From Cache |
キャッシュからモデル定義を pull するためにかかった時間(秒)。null 値が返される場合は、モデルがキャッシュから pull されずに読み込まれ、解析されたことを意味します(Model Init: Computed のステップをご覧ください)。 |
Model Init: Computed |
クエリの実行に必要なモデルの読み込みと解析にかかった時間(秒)。null 値が返される場合、モデルは最初から読み込まれて解析されたのではなく、キャッシュから取得されたことを意味します(Model Init: From Cache のステップをご覧ください)。 |
Explore Init: From Cache |
Explore の初期化をキャッシュから pull するためにかかった時間(秒)。null 値が返される場合は、Explore がキャッシュから pull されずに読み込まれ、解析されたことを意味します(Explore Init: Computed のステップをご覧ください)。 |
Explore Init: Computed |
prepare を開始するまでに Explore の初期化にかかった時間(秒)。null 値が返される場合、Explore は最初から読み込まれて解析されたのではなく、キャッシュから取得されたことを意味します(Explore Init: From Cache のステップをご覧ください)。 |
Prepare |
Explore の定義からクエリを準備するのにかかった時間(秒単位)。 |
接続処理フェーズの指標
クエリのステップ | 指標の説明 |
---|---|
Per User Throttler |
ユーザーがクエリを実行するための接続が利用可能になるまでクエリが待機に費やした時間(秒)。 |
Acquire Connection |
Looker インスタンスが顧客データベースに接続するのにかかった時間(秒)。これには、ユーザーの認証情報を検索する時間、接続プールが存在しない場合の接続プールの作成時間、使用するための接続の初期化時間などが含まれます。 |
Connection Held |
Looker インスタンスが顧客データベースへの接続を維持した時間(秒)。これには、顧客データベースが SQL クエリを実行するのにかかった時間が含まれます。 |
メインのクエリフェーズの指標
クエリのステップ | 指標の説明 |
---|---|
Cache Load |
結果セットのキャッシュから未加工の結果を pull するのにかかった時間(秒)。 |
PDTs |
クエリに必要な永続的な派生テーブルの作成にかかった秒数。 |
Execute Main Query |
顧客データベースで primary クエリを実行するのにかかった時間(秒)。これには、顧客データベースへの接続にかかった時間は含まれません。これは、大容量の結果の許可機能の使用を必要とするクエリについては追跡されません。 |
Execute Totals Query |
顧客データベースでクエリを実行して合計を生成するのにかかった時間(秒)。合計が有効なクエリにのみ適用されます。 |
Execute Row Totals Query |
クエリを実行して顧客データベースで行の合計を生成するのにかかった時間(秒)。行の合計が有効なクエリにのみ適用されます。 |
Execute Grand Totals Query |
クエリを実行して顧客データベースの総計を生成するのにかかった時間(秒)。合計と行の合計の両方が有効になっているクエリにのみ適用されます。 |
Load Process and Stream Main Query |
(顧客データベースから)メインクエリを読み込み、(Looker インスタンス上で)処理してから(クライアントに)ストリーミングするのにかかった時間(秒)。ストリーミング クエリにのみ適用されます。 |
Load Main Query In Memory |
メイン クエリの結果が顧客データベースからメモリに読み込まれるまでにかかる時間(秒)。非ストリーミング クエリにのみ適用されます。 |
Load Totals Query In Memory |
クエリを読み込んで合計をメモリに生成するのにかかった時間(秒)。合計が有効な非ストリーミング クエリにのみ適用されます。 |
Load Row Totals Query In Memory |
クエリを読み込んで行の合計をメモリに生成するのにかかった時間(秒)。行の合計が有効な非ストリーミング クエリにのみ適用されます。 |
Load Grand Totals Query In Memory |
クエリを読み込んで総計をメモリに生成するのにかかった時間(秒)。合計と行の合計の両方が有効になっている非ストリーミング クエリにのみ適用されます。 |
クエリフェーズ後の指標
クエリのステップ | 指標の説明 |
---|---|
Postprocessing |
クエリの後処理にかかった時間(秒)。接続が閉じられた後に発生します。 |
Stream to Cache |
結果を処理してレンダリング キャッシュにストリーミングするのにかかった時間(秒)。 |
BigQuery BI Engine の指標
Looker で BigQuery BI Engine を使用している場合は、クエリ パフォーマンス指標の Explore を使用して、クエリに関するデータベース固有の情報を表示できます。BI Engine を使用しないクエリと、BigQuery データベース以外のデータベースのクエリは、これらの指標に null 値を返します。
指標 | 指標の説明 |
---|---|
BigQuery Job ID |
クエリの BigQuery ジョブ ID。 |
BI Engine Mode |
クエリが部分的に実行されたか、完全に実行されたか。このフィールドに指定できる値の詳細については、BI Engine SQL インターフェースの概要をご覧ください。 |
BI Engine Reason |
クエリを完全に実行されなかった場合は、このフィールドに理由が表示されます。このメッセージは Google BigQuery から直接送信されます。 |
クエリのパフォーマンス指標を使用したトラブルシューティング
クエリ指標を分析すると、Looker インスタンスのパフォーマンスを改善できます。開始するには、[System Activity] ダッシュボードのリストから、[Performance Recommendations] ダッシュボードを選択します。