了解查询性能指标

系统活动中的查询性能指标 探索功能提供了从 Looker 实例运行的每个查询的详细细分数据。

例如,您可以使用此探索功能来调查查询的哪些组件加载时间最长。您还可以使用此探索功能来识别查询性能趋势和异常情况。

如需详细了解系统活动中提供的探索功能,请参阅使用系统活动探索功能监控 Looker 使用情况文档页面。

查看查询效果指标

您可以在系统活动的查询性能指标 探索功能中查看查询性能指标。您必须是 Looker 管理员或拥有 see_system_activity 权限,才能查看查询效果指标 探索功能。

了解 Looker 查询生命周期

Looker 发送到数据库的每个查询都会经历几个阶段,每个阶段又包含几个步骤。在查询效果指标 探索功能中,每个步骤都表示为一个维度。

从宏观层面来看,这些阶段可以概念化为如下所示:

  1. 队列:查询等待可用的异步 工作器。
  2. 初始化和连接: 工作器准备查询并连接到数据库。
  3. 运行查询:Looker 在数据库上运行 主查询和任何其他查询(例如 总计或 派生表),并加载 结果。
  4. **处理结果**:Looker 对结果进行后处理,并将其写入 缓存。

Async processing 跟踪异步工作器在查询上花费的总时间,涵盖第 2 到第 4 阶段。对于来自探索功能和信息中心的查询,这些阶段的累计时长大致等于 Async processing 值。对于下载、预定传送和其他导出的结果,Stream to Cache 与其他阶段重叠;在这些情况下,各个阶段的组合时间可能会超过 Async processing 的总时长。

查询效果指标

以下部分按时间顺序列出了每个查询阶段。每个查询阶段部分按字母顺序列出了其查询步骤。每个查询步骤指标都以秒为单位来衡量所用时间。

时间轴:队列

查询步骤 指标说明
Queued 查询等待异步工作器运行查询所花费的时间(以秒为单位)。

时间轴:初始化和连接

查询步骤 指标说明
Acquire Connection Looker 实例获取与客户数据库的连接所花费的时间(以秒为单位)。此步骤包括查找用户凭据和创建连接池(如果连接池尚不存在)所花费的时间。
Cache Load 从 结果集缓存 中提取原始结果所花费的时间(以秒为单位)。
Explore Init: Computed 在开始 prepare 探索功能之前对其进行初始化所花费的时间(以秒为单位)。如果此步骤返回 null 值,则表示探索功能是从缓存中检索的,而不是从头开始加载和解析的。(请参阅 Explore Init: From Cache 步骤。)
Explore Init: From Cache 从缓存中提取探索功能初始化所花费的时间(以秒为单位)。如果此步骤返回 null 值,则表示探索功能是加载和解析的,而不是从缓存中提取的。(请参阅 Explore Init: Computed 步骤。)
Model Init: Computed 加载和解析运行查询所需的模型所花费的时间(以秒为单位)。如果此步骤返回 null 值,则表示模型是从缓存中检索的,而不是从头开始加载和解析的。(请参阅 Model Init: From Cache 步骤。)
Model Init: From Cache 从缓存中提取模型定义所花费的时间(以秒为单位)。如果此步骤返回 null 值,则表示模型是加载和解析的,而不是从缓存中提取的。(请参阅 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 异步工作器在查询上花费的时间(以秒为单位)。工作器会继续处理查询,直到处理结果阶段完成,因此此指标与此页面上的大多数其他指标重叠。
Connection Held Looker 实例与客户数据库保持连接的时间(以秒为单位)。此步骤包括客户数据库运行 SQL 查询所花费的时间。

每个指标还有一个平均值。时间轴:摘要 群组显示了每个阶段的总时间和平均时间。

BigQuery BI Engine 指标

如果您将 BigQuery BI Engine 与 Looker 搭配使用,则可以使用 查询性能指标 探索功能查看 有关查询的数据库专用信息。对于不使用 BI Engine 的查询以及 BigQuery 数据库以外的数据库的查询,这些指标会返回 null 值。

指标 指标说明
BigQuery Job ID

查询的 BigQuery 任务 ID(或 NULL)。

为了缩短 BigQuery 中查询的响应时间,Looker 使用 jobCreationMode=JOB_CREATION_OPTIONAL 执行 BigQuery 查询。在此模式下,当 BigQuery 确定可以快速完成查询时,BigQuery 会优先返回即时结果,而不是创建 BigQuery 作业。在这种情况下,查询将具有 BigQuery 查询 ID(BigQuery 任务 ID 将为 null)。

如果 BigQuery 确定无法返回即时结果,BigQuery 将创建一个作业,并且查询将具有 BigQuery 任务 ID(BigQuery 查询 ID 将为 NULL)。

BigQuery Query ID

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

为了缩短 BigQuery 中查询的响应时间,Looker 使用 jobCreationMode=JOB_CREATION_OPTIONAL 执行 BigQuery 查询。在此模式下,当 BigQuery 确定可以快速完成查询时,BigQuery 会优先返回即时结果,而不是创建 BigQuery 作业。在这种情况下,查询将具有 BigQuery 查询 ID,而不是 BigQuery 任务 ID。

如果 BigQuery 确定无法返回即时结果,BigQuery 将创建一个作业,并且查询将具有 BigQuery 任务 ID(BigQuery 查询 ID 将为 NULL)。如果此字段为空,则表示 BigQuery 无法立即执行查询,而是创建了一个作业来运行查询。请改为查看 BigQuery Job ID 以获取 BigQuery 作业的 ID。

BI Engine Mode 查询是否能够以部分或完全加速模式运行。如需详细了解此字段的可能值,请参阅 BI Engine 加速统计信息。
BI Engine Reason 如果查询无法以完全加速模式运行,此字段会显示原因。此消息直接来自 Google BigQuery。

使用查询效果指标进行问题排查

分析查询指标有助于提高 Looker 实例的性能。如需开始使用,请从系统活动信息中心列表中选择性能建议信息中心。