本页概述了影响 Looker 性能的基本组件。本页旨在概述基本的 Looker 性能概念,以便您找到相关资源,并就性能问题与 Looker 支持团队进行有效沟通。由于每个性能问题都是特定的,因此本文并非问题排查指南。
如果您遇到性能问题,请与 Looker 支持团队联系。联系信息位于本页的最后一部分。
组件概览
从基本层面来看,Looker 是在服务器上运行的程序。Looker 会使用该服务器的内存和 CPU 来运行。使用 Looker 的每家公司都有自己的专用服务器或集群,没有全局
Looker 服务器。当您通过浏览器登录 Looker 时,浏览器会向您的服务器发送信息请求。服务器会返回所需信息,然后浏览器会为您呈现这些信息。
Looker 还会连接到您的数据库。在这种情况下,Looker 服务器会向数据库请求信息,而数据库会将该信息返回给服务器。
示例:
当您前往 Looker 中的个人文件夹以打开信息中心并与之互动时,系统会在后台执行以下操作:
- 选择您认为会打开个人文件夹页面的链接。
- 浏览器会向 Looker 服务器询问有关该文件夹的信息:“其中是否有 Look、信息中心或其他文件夹?”
- Looker 服务器会将该信息返回给您的浏览器:“有信息中心 A,其中包含 Look 1 和 2。”
- 浏览器会显示文件夹的内容。
- 您选择信息中心 A。
- 浏览器向 Looker 服务器请求有关信息中心 A 的信息,其中包括与 Look 1 和 Look 2 相关联的 Look 关联型图块。
- Looker 服务器会生成 Look 1 和 2 所需的 SQL 查询,并将其发送到您的数据库。
- 数据库会将这些查询的结果集返回给 Looker 服务器。
- Looker 服务器会将从这些查询中收到的数据发送到您的浏览器。
- 浏览器使用从服务器收到的数据呈现信息中心。
对速度缓慢进行分类
上述示例中描述了三个主要元素:数据库、Looker 服务器和浏览器。每个组件都有助于提升 Looker 性能,并执行一系列流程来交付数据。以下四个要素可能会影响数据库、服务器和浏览器进程的效率:
- 数据库负载
- 实例负载
- 浏览器加载
- 网络延迟
以下部分将讨论这些进程及其对性能的潜在影响。
数据库负载
数据库处理 SQL 查询需要时间,尤其是在查询很大或数据库同时处理多个查询时。如果某个探索、Look 或信息中心需要很长时间才能返回结果,原因可能是查询速度缓慢,也可能是同时运行了多个查询。您可以查看管理菜单中的查询页面(或数据库控制台),以便更好地了解数据库在任何给定时间的负载。
实例负载
您的 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 支持团队联系时,请尽可能详细地说明情况,并告知我们哪些实例页面加载缓慢以及缓慢情况发生在什么时间。