本页面概述了有助于提升 Looker 性能的基本组件。本页面旨在概述 Looker 的基本性能概念,以便您找到相关资源,并与 Looker 支持团队就性能问题进行有效沟通。这不是排查指南,因为每项性能问题都是具体问题。
如果您遇到性能问题,请与 Looker 支持团队联系。详细联系信息位于本页面的最后一部分。
组件概览
从基本层面来看,Looker 是服务器上运行的程序。Looker 使用该服务器的内存和 CPU 运行。每家使用 Looker 的公司都有自己的专用服务器或集群,没有全局性
Looker 服务器,当您通过浏览器登录 Looker 时,浏览器会向您的服务器发送请求以获取信息。服务器返回所需信息,浏览器为您呈现这些信息。
Looker 还会连接到您的数据库。在这种情况下,Looker 服务器会向数据库请求信息,然后数据库将该信息返回给服务器。
示例:
当您在 Looker 中前往个人文件夹打开信息中心并与其互动时,后台会发生以下情况:
- 您选择了希望打开个人文件夹页面的链接。
- 您的浏览器会向 Looker 服务器询问该文件夹的相关信息:“这里有 Look、信息中心或其他文件夹吗?”
- 您的 Looker 服务器会将该信息返回到您的浏览器:“是,有包含 Look 1 和 2 的信息中心 A”。
- 浏览器会显示文件夹中的内容。
- 您选择了信息中心 A。
- 您的浏览器向 Looker 服务器请求信息中心 A 的相关信息,其中包含与 Look 1 和 Look 2 关联的图块。
- Looker 服务器会生成“外观 1”和“外观 2”所需的 SQL 查询,并将其发送到数据库。
- 您的数据库会将这些查询的结果集返回到您的 Looker 服务器。
- 您的 Looker 服务器会将从这些查询收到的数据发送到您的浏览器。
- 您的浏览器会使用从您的服务器收到的数据来呈现该信息中心。
对缓慢程度进行分类
上例中介绍了三个主要元素:数据库、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 支持团队联系时,请提供尽可能具体的信息,并告知我们哪些实例页面运行缓慢,以及何时运行缓慢。