瞭解查詢效能指標

系統活動中的「查詢效能指標」探索功能,可詳細說明從 Looker 執行個體執行的每項查詢。

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

如要進一步瞭解「系統活動」中可用的探索資料,請參閱「透過『系統活動』探索資料監控 Looker 使用情形」說明文件。

查看查詢成效指標

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

瞭解 Looker 查詢生命週期

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

大致來說,這些階段可概略分為以下幾個階段:

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

查詢成效指標

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

非同步 worker 階段指標

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

初始化階段指標

查詢步驟 指標說明
Model Init: From Cache 從快取中提取模型定義所需的時間 (以秒為單位)。如果傳回空值,表示模型已載入及剖析,而非從快取中擷取。(請參閱 Model Init: Computed 步驟)。
Model Init: Computed 載入及剖析執行查詢所需模型所需的時間 (以秒為單位)。如果這個方法傳回空值,表示模型是從快取中擷取,而非從頭載入及剖析。(請參閱 Model Init: From Cache 步驟)。
Explore Init: From Cache 從快取中擷取探索初始化資料所需的時間 (以秒為單位)。如果這個值傳回空值,表示 Explore 已載入並剖析,而非從快取中擷取。(請參閱 Explore Init: Computed 步驟)。
Explore Init: Computed 在開始 prepare 前,初始化 Explore 所需的時間 (以秒為單位)。如果這個值傳回空值,表示 Explore 是從快取中擷取,而非從頭載入及剖析。(請參閱 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。
BI Engine Mode 查詢是否能夠部分或完全加速執行。如要進一步瞭解這個欄位的可能值,請參閱「BI Engine 加速統計資料」。
BI Engine Reason 如果查詢無法以全速加速執行,這個欄位會顯示原因。這則訊息直接來自 Google BigQuery。

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

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