瞭解查詢效能指標

「系統活動」中的「查詢效能指標」探索會詳細列出從 Looker 執行個體執行的每項查詢。

舉例來說,您可以使用這項探索功能,調查查詢的哪些元件載入時間最長。您也可以使用這項探索功能找出查詢成效趨勢和異常情況。

如要進一步瞭解「系統活動」中提供的探索資料,請參閱「使用系統活動探索資料監控 Looker 使用情形」說明文件頁面。

查看查詢成效指標

您可以在「系統活動」的「查詢效能指標」探索中查看查詢效能指標。您必須是 Looker 管理員或具備 see_system_activity 權限,才能查看「查詢效能指標」探索。

瞭解 Looker 查詢生命週期

Looker 傳送至資料庫的每項查詢都會經歷多個階段,每個階段又包含多個步驟。這些步驟在「查詢成效指標」探索中會以維度表示。

大致來說,各階段的概念如下:

  1. 非同步工作站階段:首先,查詢工作必須指派給可用的非同步工作站。如果沒有工作人員可提供服務,可能需要排隊等候。
  2. 初始化階段:指派非同步工作站後,Looker 執行個體會執行數個初始化步驟,準備查詢。
  3. 連線處理階段:初始化完成後,Looker 執行個體會與客戶資料庫建立連線。
  4. 主要查詢階段:Looker 執行個體與客戶資料庫建立連線後,系統會在客戶資料庫上執行主要查詢。視查詢所選的選項而定,系統也可能會執行其他查詢來計算結果,例如總計。如果查詢並未串流,查詢就會載入 Looker 執行個體的記憶體。之後,Looker 執行個體與客戶資料庫之間的連線就會關閉。
  5. 查詢後階段:最後,Looker 執行個體會執行多個查詢後步驟,為查詢準備下一個目的地。此時,非同步工作站會釋出。

查詢成效指標

以下各節依時間順序列出每個查詢階段和查詢步驟。

非同步工作站階段指標

查詢步驟 指標說明
Queued 查詢等待非同步工作站執行查詢的時間 (以秒為單位)。
Async processing 非同步工作站處理查詢所花費的時間 (以秒為單位)。工作人員會繼續處理查詢,直到查詢後階段完成為止,因此這項指標會與這個頁面上的大多數其他指標重疊。

初始化階段指標

查詢步驟 指標說明
Model Init: From Cache 從快取提取模型定義所需的時間 (以秒為單位)。如果傳回空值,表示模型已載入並剖析,而非從快取中提取。(請參閱Model Init: Computed步驟)。
Model Init: Computed 載入及剖析執行查詢所需的模型所花的時間 (以秒為單位)。如果傳回空值,表示模型是從快取擷取,而非從頭載入及剖析。(請參閱Model Init: From Cache步驟)。
Explore Init: From Cache 從快取提取「探索」初始化所需的時間 (以秒為單位)。如果傳回空值,表示系統已載入並剖析探索,而非從快取中提取。(請參閱Explore Init: Computed步驟)。
Explore Init: Computed 初始化「探索」所需的時間 (以秒為單位),之後才能開始 prepare。如果傳回空值,表示系統是從快取擷取探索,而非從頭載入及剖析。(請參閱Explore Init: From Cache步驟)。
Prepare 從探索定義準備查詢所需的時間 (以秒為單位)。

連線處理階段指標

查詢步驟 指標說明
Per User Throttler 查詢等待連線可供使用者執行查詢的時間 (以秒為單位)。
Acquire Connection Looker 執行個體取得客戶資料庫連線所需的時間 (以秒為單位)。這個步驟包括查詢使用者憑證、建立連線集區 (如果不存在),以及初始化連線以供使用所需的時間。
Connection Held Looker 執行個體與客戶資料庫維持連線的時間 (以秒為單位)。這個步驟包含客戶資料庫執行 SQL 查詢所需的時間。

主要查詢階段指標

查詢步驟 指標說明
Cache Load 結果集快取中提取原始結果所需的時間 (以秒為單位)。
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 指標

如果您搭配使用 BigQuery BI Engine 和 Looker,可以透過「查詢效能指標」探索功能,查看查詢的資料庫專屬資訊。如果查詢未使用 BI Engine,且查詢的資料庫不是 BigQuery 資料庫,這些指標會傳回空值。

指標 指標說明
BigQuery Job ID

查詢的 BigQuery 工作 ID (或 NULL)。

為加快 BigQuery 查詢的回應時間,Looker 會使用 jobCreationMode=JOB_CREATION_OPTIONAL 執行 BigQuery 查詢。在此模式下,當 BigQuery 判斷查詢可快速完成時,會優先傳回即時結果,而不是建立 BigQuery 工作。在此情況下,查詢會具有 BigQuery 查詢 ID (而 BigQuery 工作 ID 會是 NULL)。

如果 BigQuery 判斷無法立即傳回結果,就會建立工作,而查詢會取得 BigQuery 工作 ID (BigQuery 查詢 ID 則為 NULL)。

BigQuery Query ID

查詢的 BigQuery 查詢 ID (或 NULL)。

為加快 BigQuery 查詢的回應時間,Looker 會使用 jobCreationMode=JOB_CREATION_OPTIONAL 執行 BigQuery 查詢。在此模式下,當 BigQuery 判斷查詢可快速完成時,會優先傳回即時結果,而不是建立 BigQuery 工作。在這種情況下,查詢會使用 BigQuery 查詢 ID,而非 BigQuery 工作 ID。

如果 BigQuery 判斷無法立即傳回結果,就會建立工作,而查詢會取得 BigQuery 工作 ID (BigQuery 查詢 ID 則為 NULL)。如果這個欄位空白,表示 BigQuery 無法立即執行查詢,因此建立工作來執行查詢。如要取得 BigQuery 工作 ID,請改用 BigQuery Job ID

BI Engine Mode 查詢是否能部分或完全加速執行。如要進一步瞭解這個欄位的可能值,請參閱「BI Engine 加速統計資料」。
BI Engine Reason 如果查詢無法以全速執行,這個欄位會顯示原因。這則訊息直接來自 Google BigQuery。

使用查詢效能指標排解問題

分析查詢指標有助於提升 Looker 執行個體的效能。如要開始使用,請從「系統活動資訊主頁」清單中,選取「成效建議」資訊主頁