系统活动中的“查询性能指标”探索功能提供了从 Looker 实例中运行的每个查询的详细细分。
例如,您可以使用此“探索”来研究查询中哪些组件的加载时间最长。您还可以使用此“探索”工具来确定查询效果趋势和异常值。
如需详细了解系统活动中提供的探索,请参阅使用系统活动探索创建 Looker 使用情况报告文档页面。
查看查询性能指标
查询性能指标显示在系统活动查询性能指标“探索”中。您必须是 Looker 管理员或拥有 see_system_activity
权限才能查看查询性能指标探索。
了解 Looker 查询生命周期
Looker 发送到数据库的每个查询都会经历几个阶段,其中每个阶段都有几个步骤。在查询性能指标探索中,每个步骤都表示为一个维度。
概括来讲,这些阶段可以概念化,如下所示:
- 异步工作器阶段:首先,必须将查询任务分配给可用的异步工作器。如果没有可用的工作器,可能会有排队时间。
- 初始化阶段:分配异步工作器后,Looker 实例会运行几个初始化步骤来准备查询。
- 连接处理阶段:初始化完成后,Looker 实例将与客户数据库建立连接。
- 主查询阶段:Looker 实例在与客户数据库建立连接后,会对客户数据库执行主查询。系统也可以运行其他计算结果查询(例如总计),具体取决于为查询选择的选项。如果查询未进行流式处理,则系统会将查询加载到 Looker 实例上的内存。之后,从 Looker 实例到客户数据库的连接将关闭。
- 查询后阶段:最后,Looker 实例运行几个查询后步骤,为下一个目的地准备查询。此时,异步工作器已发布。
查询性能指标
以下部分按时间顺序列出每个查询阶段和查询步骤。
异步工作器阶段指标
查询步骤 | 指标说明 |
---|---|
Queued |
查询为等待异步工作器可用于运行查询而花费的时间(以秒为单位)。 |
Async processing |
异步工作器花在查询上的时间(以秒为单位)。工作器将继续处理查询,直到查询后阶段结束,因此此指标将与此网页上的大多数其他指标重叠。 |
初始化阶段指标
查询步骤 | 指标说明 |
---|---|
Model Init: From Cache |
从缓存中提取模型定义所需的时间(以秒为单位)。如果返回 null 值,则表示模型已加载和解析,而不是从缓存中提取。(请查看 Model Init: Computed 步骤)。 |
Model Init: Computed |
加载和解析运行查询所需的模型所需的时间(以秒为单位)。如果返回 null 值,则表示已从缓存中检索模型,而不是从头开始加载和解析。(请查看 Model Init: From Cache 步骤)。 |
Explore Init: From Cache |
从缓存中提取“探索”初始化所花费的时间(以秒为单位)。如果这返回 null 值,则表示已加载和解析“探索”,而不是从缓存中提取。(请查看 Explore Init: Computed 步骤)。 |
Explore Init: Computed |
开始探索之前,prepare 初始化探索所用的时间。如果返回 null 值,则表示已从缓存检索到探索,而不是从头开始加载和解析。(请查看 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 数据库之外的数据库查询,系统将针对这些指标返回 null 值。
指标 | 指标说明 |
---|---|
BigQuery Job ID |
BigQuery 中查询的作业 ID。 |
BI Engine Mode |
查询是可以部分还是完全加速运行。如需详细了解此字段的可能值,请参阅 BI Engine SQL 接口概览。 |
BI Engine Reason |
如果查询无法完全加速,则此字段会显示原因。此消息直接来自 Google BigQuery。 |
排查查询效果指标问题
分析查询指标有助于提高 Looker 实例的性能。要开始使用,请从系统活动信息中心列表中选择效果建议信息中心。