从 Looker 22.16 开始,Looker 管理员可以启用增强的查询管理员实验性实验室功能,以增强查询页面。实验室中的功能提升了查询页面上的性能,并且列出了 500 个分页查询,而不是 50 个。
管理菜单的数据库部分中的查询页面列出了有关 Looker 提交到数据库的最近 50 个查询的信息。如需了解旧版查询,请参阅 Looker 的使用情况部分。
基本查询信息
列 | 定义 |
---|---|
时间 | 查询的开始时间,以应用时区显示。 |
状态 | 查询的状态,可能包括: |
连接 | 运行此查询的 Looker 连接。 |
用户 | 运行此查询的用户(如果可以确定)。某些查询并非由特定用户执行,例如当 Looker 创建永久性派生表时或当未知用户访问公开 Look 时。 |
来源 | Looker 中查询的来源,例如“探索”页面或 SQL Runner。如果可能,系统还会显示指向已保存 Look 的链接或查询 ID 以及模型和“探索”的名称。某些查询不会有其他信息,例如在 SQL Runner 中运行的查询。 |
运行时 | 运行查询所花费的时间。这包括查询的构造、查询在队列中的任何时间、进出数据库的传输以及查询的数据库执行。 如果查询当前正在运行,运行时将显示查询的运行时长。对于之前运行的查询,运行时还会显示完成查询所需的预估时间。此估算值基于上次运行查询的时长,大致如“大约 2 秒”。 |
“详细信息”按钮 | 如需了解更多详情,请参阅本页面上的“详细信息”按钮子部分。 |
“详细信息”按钮
点击任意查询右侧的详细信息按钮,将显示相应查询的其他信息。Query Details 弹出式窗口包含以下内容:
- 包含查询详情的信息部分(参见下表)。
- SQL 部分,其中显示了针对数据库执行的原始 SQL。上下文注释将不会显示在查询详情信息中。为防止注释影响查询缓存,Looker 在将 SQL 发送到数据库之前,将上下文注释添加到传出 SQL 命令中。
- 在 SQL Runner 中打开链接,用于在 SQL Runner 中打开查询。
信息部分包含以下信息:
段 | 定义 |
---|---|
历史记录 ID | 查询的历史记录 ID(如果有)。 |
状态 | 查询的状态,如上文所述。 |
连接 | 运行此查询的 Looker 连接。 |
用户 | 运行此查询的用户(如果可以确定)。某些查询并非由特定用户执行,例如当 Looker 创建永久性派生表时或当未知用户访问公开 Look 时。 |
来源 | Looker 中查询的来源,例如探索页面或 SQL Runner。系统会尽可能显示其他信息,例如指向已保存 Look 的链接、查询 ID、模型名称、探索名称、所选字段等。 |
开始时间 | 查询的开始时间,以应用时区显示。 |
结束时间 | 查询的完成时间,以应用时区显示。 |
运行时 | 运行查询所花费的时间。 |
查询终止
当您关闭运行查询的浏览器标签页时,Looker 会自动停止仍在运行的查询。Looker 管理员还可以在查询页面中停止正在运行的查询。(具有 see_queries
权限的用户可以查看查询页面,但只有 Looker 管理员可以停止正在运行的查询。)仍在运行的任何查询都会在其右侧显示一个 Stop 按钮。点击停止以停止查询。
如需让 Looker 终止查询,您的数据库方言必须支持查询终止。以下列表显示了在最新版 Looker 中支持查询终止的方言:
查询超时和队列
Looker 会终止在队列中等待时间过长的查询。此操作称为超时。查询可能会超时:
连接池超时:为了防止数据库在执行并发查询时过载,Looker 会将 Looker 查询队列中的并发查询留在查询中,并会导致在队列中等待太长时间的查询终止。默认情况下,每个连接最多允许 75 个并发查询,排队查询会在 0 秒后超时。要更改这些默认值,请在连接的连接设置页面上配置最大连接数和连接池超时设置。
每用户查询限制和超时:为防止任何单个用户填满 Looker 查询队列,每位用户都拥有允许的并发查询数量上限和相应的队列超时。默认情况下,每个用户最多可运行 15 个并发查询,并且由于此限制而要加入队列的查询超时为 600 秒。如果您的 Looker 实例由客户托管,您可以通过配置
--per-user-query-limit
和--per-user-query-timeout
启动选项来更改这些默认值。调度器查询限制和超时:为防止 Looker 调度器进程过载,Looker 实例最多可以运行 10 个并发计划查询,调度器队列中的查询超时为 1200 秒。如果您的 Looker 实例由客户托管,您可以通过配置
--scheduler-query-limit
和--scheduler-query-timeout
启动选项来更改这些默认值。如果您的 Looker 实例已聚类,则集群的每个节点都会使用自己的调度器队列。因此,向集群添加节点会增加允许的并发计划查询总数,而不会给 Looker 调度器进程增加额外的负担。
渲染程序查询限制和超时:为了防止 Looker 渲染程序进程过载,Looker 实例最多可同时渲染 2 个基于图像的下载程序,例如 PDF 和 PNG 格式。如果您的 Looker 实例由客户托管,您可以通过配置
--concurrent-render-jobs
启动选项来更改此默认设置。如果您的 Looker 实例被聚类,则集群的每个节点都会使用自己的渲染程序队列。因此,向集群添加节点会增加允许的并发渲染程序作业的总数,而不会给 Looker 渲染程序进程带来额外的负担。
网络钩子超时:Looker 会尝试最多 30 分钟向网络钩子传送数据。如果 Looker 无法在 30 分钟内与网络钩子目的地通信,则查询会超时。此超时不可配置。
代理超时:由 Looker 托管的实例使用代理,该代理会终止所有已运行 60 分钟的查询。此超时不可配置。
客户托管的实例通常使用代理,默认超时时间为 60 秒。我们建议您将超时时间增加至 60 分钟。如需了解详情,请参阅在代理服务器或负载均衡器后面运行 Looker 帖子。
数据库超时:大多数数据库的排队和超时规则都与 Looker 的队列和超时无关。例如,查询可能已经离开 Looker 队列,但仍可能在数据库中排队。如需详细了解如何自定义数据库查询超时,请参阅数据库文档。