效果概览

本页概述了有助于提升 Looker 性能的基本组件。本页旨在概述 Looker 性能的基本概念,以便您查找相关资源,并就性能问题与 Looker 支持团队进行有效沟通。这不是排查指南,因为每项性能问题都是具体问题。

如果您遇到性能问题,请与 Looker 支持团队联系。详细联系信息位于本页的最后一部分。

组件概览

从基本层面来看,Looker 是服务器上运行的程序。Looker 使用该服务器的内存和 CPU 运行。每家使用 Looker 的公司都有自己的专用服务器或集群,没有全局 Looker 服务器。当您通过浏览器登录 Looker 时,浏览器会向您的服务器发送请求以获取信息。服务器会返回所需的信息,然后浏览器会为您呈现这些信息。

Looker 还会连接到您的数据库。在这种情况下,Looker 服务器会向数据库请求信息,数据库会将该信息返回给服务器。

示例:

当您在 Looker 中前往个人文件夹打开信息中心并与其互动时,后台会发生以下情况:

  1. 您选择预计会打开个人文件夹页面的链接。
  2. 您的浏览器会向 Looker 服务器请求该文件夹的相关信息:“这里有 Look、信息中心或其他文件夹吗?”
  3. Looker 服务器会将该信息返回给您的浏览器:“是的,有信息中心 A,其中包含外观 1 和 2。”
  4. 浏览器会显示文件夹中的内容。
  5. 您选择信息中心 A。
  6. 您的浏览器会向 Looker 服务器请求信息中心 A 的相关信息,其中包括与外观 1 和 2 相关联的功能块。
  7. Looker 服务器会生成“外观 1”和“外观 2”所需的 SQL 查询,并将其发送到数据库。
  8. 您的数据库会将这些查询的结果集返回给 Looker 服务器。
  9. Looker 服务器会将从这些查询收到的数据发送到您的浏览器。
  10. 浏览器会使用从服务器接收的数据渲染信息中心。

对运行缓慢进行分类

上例中介绍了三个主要元素:数据库、Looker 服务器和浏览器。每个节点都会为 Looker 的性能做出贡献,并执行一系列流程来传送数据。以下四个元素可能会影响数据库、服务器和浏览器进程的效率:

  • 数据库负载
  • 实例负载
  • 浏览器加载
  • 网络延迟

以下部分将讨论这些进程及其对性能的潜在影响。

数据库负载

数据库需要花费一些时间来处理 SQL 查询,尤其是在查询较大或数据库同时处理多个查询时。如果探索、数据洞见或信息中心花很长时间才能返回结果,原因可能是查询速度缓慢或同时运行多个查询。您可以查看管理菜单中的查询页面,或查看数据库控制台,以便更好地了解数据库在任何给定时间的负载情况。

实例负载

Looker 服务器(通常称为 Looker 实例)会为使用该实例的所有用户提供可视化图表和页面。任何给定时间的使用量都可能会给实例资源造成压力。如果实例负载过重,简单的非查询处理任务(例如浏览文件夹)可能需要一段时间才能加载。

浏览器加载

最后,浏览器会显示 Looker 提供的数据。现代浏览器可以呈现的数据量有限。只需打开包含大量数据的探索,就可能会导致浏览器崩溃。

Looker 内容的浏览器负载量大致可按以下公式计算:(amount of data per cell) * (number of rows) * (number of columns)。大型查询可能很快就能完成,实例也可能很快就能提供查询结果,但浏览器可能需要很长时间才能渲染结果,或者可能会崩溃。在此示例中,只有打开了大型查询的用户会受到影响。Looker 中的其他页面不会受到影响。为了提升浏览器性能,建议将列数控制在 50 列以内。

网络延迟

由于 Looker 是一个 Web 应用,因此每次与 Looker 互动都会通过互联网发送和检索信息。互联网网络连接不佳会影响您的数据库、实例和浏览器。您可以通过以下方式确认自己是否存在网络延迟问题:咨询使用其他网络的 Looker 同事,或让 Looker 支持团队访问您实例上的同一页面。

与 Looker 支持团队联系

现在,您已经了解了 Looker 中的基本性能概念,接下来可以大致调查实例上性能问题的原因,然后与您的 Looker 联系人或 Looker 支持团队联系。与 Looker 支持团队联系时,请尽可能详细地告知我们哪些实例页面运行缓慢以及出现缓慢运行的情况的时间。