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