「系統活動」中的「查詢成效指標」探索會詳細列出從 Looker 執行個體執行的每項查詢。
舉例來說,您可以使用這項探索功能,調查查詢中哪些元件的載入時間最長。您也可以使用這個探索功能,找出查詢效能趨勢和異常狀況。
如要進一步瞭解系統活動中的探索,請參閱「使用系統活動探索監控 Looker 用量」說明文件頁面。
查看查詢成效指標
您可以在「系統活動」的「查詢效能指標」探索中,查看查詢效能指標。您必須是 Looker 管理員或具備 see_system_activity 權限,才能查看「查詢效能指標」探索。
瞭解 Looker 查詢生命週期
Looker 傳送至資料庫的每項查詢都會經歷多個階段,每個階段又包含多個步驟。在「查詢成效指標」探索中,每個步驟都會以維度表示。
大致來說,各階段的概念如下:
- 佇列:查詢等待可用的非同步工作人員。
- 初始化和連線:worker 會準備查詢並連線至資料庫。
- 執行查詢:Looker 會在資料庫中執行主要查詢和任何其他查詢,例如總計或衍生資料表,並載入結果。
- 處理結果:Looker 會後續處理結果,並將結果寫入快取。
Async processing 會追蹤非同步 worker 處理查詢的總時間,涵蓋第 2 到第 4 階段。如果是來自探索和資訊主頁的查詢,這些階段的累計時間長度大約等於 Async processing 值。如果是下載、排定傳送時間和其他匯出結果,Stream to Cache 會與其他階段重疊;在這些情況下,各階段的總時間可能會超過總 Async processing 時間。

查詢成效指標
以下各節依時間順序列出各個查詢階段。每個查詢階段部分都會依字母順序列出查詢步驟。每項查詢步驟指標都是以經過時間 (秒) 為單位。
時間碼:佇列
| 查詢步驟 | 指標說明 |
|---|---|
Queued |
查詢等待非同步 worker 執行查詢的時間 (以秒為單位)。 |
時間:初始化和連線
| 查詢步驟 | 指標說明 |
|---|---|
Acquire Connection |
Looker 執行個體取得客戶資料庫連線所需的時間 (以秒為單位)。這個步驟包括查詢使用者憑證,以及建立連線集區 (如果尚未建立) 的時間。 |
Cache Load |
從結果集快取提取原始結果所需的時間 (以秒為單位)。 |
Explore Init: Computed |
開始prepare探索前,初始化探索所需的時間 (以秒為單位)。如果這個步驟傳回空值,表示探索是從快取擷取,而非從頭載入及剖析。(請參閱Explore Init: From Cache步驟)。 |
Explore Init: From Cache |
從快取提取「探索」初始化作業所需的時間 (以秒為單位)。如果這個步驟傳回空值,表示系統已載入並剖析探索,而非從快取提取。(請參閱Explore Init: Computed步驟)。 |
Model Init: Computed |
載入及剖析執行查詢所需的模型所花的時間 (以秒為單位)。如果這個步驟傳回空值,表示模型是從快取擷取,而非從頭載入及剖析。(請參閱 Model Init: From Cache 步驟)。 |
Model Init: From Cache |
從快取提取模型定義所需的時間 (以秒為單位)。如果這個步驟傳回空值,表示模型已載入並剖析,而非從快取提取。(請參閱 Model Init: Computed 步驟)。 |
Per User Throttler |
查詢等待連線可用,以便使用者執行查詢的時間 (以秒為單位)。 |
Prepare |
從探索定義準備查詢所需的時間 (以秒為單位)。 |
Project Init |
初始化 LookML 專案或從快取讀取專案所需的時間 (以秒為單位)。 |
時間:執行查詢
| 查詢步驟 | 指標說明 |
|---|---|
Execute Grand Totals Query |
執行查詢以產生客戶資料庫總計所需的時間 (以秒為單位)。僅適用於同時啟用總計和列總計的查詢。 |
Execute Main Query |
在顧客資料庫中執行 primary 查詢所需的時間 (以秒為單位)。這不包括連線初始化時間或節流時間;這段時間會在連線初始化和任何節流完成後開始。 |
Execute Misc. Ancillary Queries |
在客戶資料庫中執行支援查詢 (例如範圍和維度填補查詢) 所需的時間 (以秒為單位)。 |
Execute Row Totals Query |
執行查詢以在客戶資料庫中產生資料列總計所需的時間 (以秒為單位)。僅適用於已啟用資料列總計的查詢。 |
Execute Totals Query |
執行查詢以產生顧客資料庫總計所需的時間 (以秒為單位)。僅適用於已啟用總計的查詢。 |
Load Grand Totals Query In Memory |
載入查詢以將總計產生至記憶體所需的時間 (以秒為單位)。僅適用於非串流查詢,且必須同時啟用總計和資料列總計。 |
Load Main Query In Memory |
從客戶資料庫將主要查詢結果載入記憶體所需的時間 (以秒為單位)。僅適用於非串流查詢。 |
Load Misc. Ancillary Queries In Memory |
將支援查詢 (例如範圍和維度填補查詢) 載入記憶體所需的時間 (以秒為單位)。 |
Load Process and Stream Main Query |
載入主要查詢 (從客戶資料庫)、處理查詢 (在 Looker 執行個體上),以及串流查詢 (至用戶端) 所需的時間 (以秒為單位)。僅適用於串流查詢。 |
Load Row Totals Query In Memory |
載入查詢以將資料列總計產生至記憶體所需的時間 (以秒為單位)。僅適用於啟用資料列總計的非串流查詢。 |
Load Totals Query In Memory |
載入查詢以產生總計並存入記憶體所需的時間 (以秒為單位)。僅適用於已啟用總計的非串流查詢。 |
PDTs |
建構查詢所需永久衍生資料表的時間 (以秒為單位)。 |
Temporary DT |
建構臨時衍生資料表所用的時間 (以秒為單位)。僅適用於不支援一般資料表運算式 (CTE) 或內嵌衍生資料表的方言,例如 MySQL。 |
時間:處理結果
| 查詢步驟 | 指標說明 |
|---|---|
Postprocessing |
後置處理查詢所需的時間 (以秒為單位)。在連線關閉後發生。 |
Stream to Cache |
結果串流至快取的時間 (以秒為單位)。如果是下載、排定傳送作業和其他匯出結果,這個步驟會包含執行查詢,因此會與其他階段的指標重疊。 |
時間:整體
| 查詢步驟 | 指標說明 |
|---|---|
Async processing |
非同步 worker 執行查詢的時間 (以秒為單位)。worker 會繼續處理查詢,直到處理結果階段完成為止,因此這項指標會與這個頁面上的大多數其他指標重疊。 |
Connection Held |
Looker 執行個體與客戶資料庫保持連線的時間 (以秒為單位)。這個步驟包含客戶資料庫執行 SQL 查詢所需的時間。 |
每項指標也都有平均值。「Timings: Summaries」群組會顯示每個階段的總時間和平均時間。
BigQuery BI Engine 指標
如果您搭配使用 BigQuery BI Engine 和 Looker,可以透過「查詢成效指標」探索功能,查看查詢的資料庫專屬資訊。如果查詢未使用 BI Engine,或查詢的資料庫並非 BigQuery 資料庫,這些指標會傳回空值。
| 指標 | 指標說明 |
|---|---|
BigQuery Job ID |
查詢的 BigQuery 工作 ID (或 NULL)。 為縮短 BigQuery 查詢的回應時間,Looker 會使用 如果 BigQuery 判斷無法立即傳回結果,就會建立工作,而查詢會取得 BigQuery 工作 ID (BigQuery 查詢 ID 則為 NULL)。 |
BigQuery Query ID |
查詢的 BigQuery 查詢 ID (或 NULL)。 為縮短 BigQuery 查詢的回應時間,Looker 會使用 如果 BigQuery 判斷無法立即傳回結果,就會建立工作,而查詢會取得 BigQuery 工作 ID (BigQuery 查詢 ID 則為 NULL)。如果這個欄位留空,代表 BigQuery 無法立即執行查詢,而是建立工作來執行查詢。請改為查看 |
BI Engine Mode |
查詢是否能部分或完全加速執行。如要進一步瞭解這個欄位的可能值,請參閱「BI Engine 加速統計資料」。 |
BI Engine Reason |
如果查詢無法完全加速執行,這個欄位會顯示原因。這則訊息直接來自 Google BigQuery。 |
使用查詢效能指標排解問題
分析查詢指標有助於提升 Looker 執行個體的效能。首先,請從系統活動資訊主頁清單中選取「Performance Recommendations」資訊主頁。