构建高性能 Looker 信息中心时的注意事项

要让用户能够探索数据,最佳方式之一是,通过构建有效的 Looker 信息中心为用户提供精选视图。如果您想为用户打造出色的性能体验,请在设计信息中心时参考本页中的提示。

Looker 信息中心会在浏览器中加载。为了实现最佳性能,请牢记以下要点。

信息中心性能最重要的元素是底层 SQL 查询性能。如果未从缓存返回每个信息中心元素,系统会运行一个 SQL 查询,该查询需要一些时间才能在底层数据库上执行。如需详细了解如何构建高性能查询,请参阅优化 Looker 性能页面的优化查询性能部分。

某些组件的内存比与 SQL 相关的组件更多,可能会导致信息中心性能缓慢:

  • 数据量对性能的影响最大。单个元素中返回的数据越多,消耗的内存资源就越多。包含数千个数据点的 Look 和信息中心元素会占用更多内存。

  • 限制信息中心元素的数量。对于数量,并没有硬性规定,因为单个元素的设计会根据几个因素(本页的后文将对其进行介绍)影响其内存消耗。不过,请避免创建包含 25 个或更多查询的信息中心。通过在信息中心之间创建导航链接或创建指向自定义网址的链接来创建从信息中心到信息中心的精选导航,使信息中心性能保持流畅。您还可以尝试将类似的测量结果串联到同一单值可视化图表中,以避免显示很多单图块可视化图表。

  • 巧妙地使用信息中心设置。如果您的信息中心使用自动刷新,请确保其刷新频率不高于 ETL 过程。一般情况下,您应避免将自动刷新频率设置为超过 15 分钟。如果要过滤信息中心,请勿使用 run on load(加载时运行)。使用必需的过滤条件,防止用户在没有必要过滤条件的情况下运行信息中心。

  • 利用缓存。最佳实践是使用 数据组将所有 Looker 内容(信息中心、Look、时间表)与您的 ETL 流程同步。这有助于避免在数据不是最新时进行不必要的查询。

  • 查询后处理功能(例如合并结果自定义字段表计算)会占用内存。使用的查询后处理功能越多,消耗的内存就越多。如果您在多个 Look 和信息中心内使用相同的表计算、合并结果或自定义字段,请考虑尽可能将其硬编码到您的 LookML 模型中。一般情况下,向信息中心添加的合并结果图块不超过四个。

  • 透视维度会消耗内存。在 Look 或信息中心图块中透视的维度越多,加载信息中心时消耗的内存就越多。正如第一个要点中所述,这是因为返回的数据越多,使用的数据就越多。如果您要透视的维度具有高基数(许多唯一值),则每个值都会有一列。在信息中心或 Look 级别进行过滤,以便用户选择他们最感兴趣的维度值,而不是一次性显示所有维度。

  • 拥有多列和多行会消耗更多内存。再次强调,正如第一个要点中所述,返回大量行和列的 Look 可能会降低性能。在信息中心或 Look 级别进行过滤,以减少某个元素中的结果数量。

  • 深入分析菜单中的信息中心实验室功能虽然不会影响内存消耗,但可能会降低查询速度并导致信息中心性能降低。

  • 结合使用共享过滤条件和单个查询,在多个图块中呈现单个查询结果。这应该能够利用一个查询来为多个信息中心元素提供支持,从而减少从信息中心运行的查询总数。

添加元素后,请务必测试信息中心的效果。在构建过程中,请继续前往信息中心并刷新页面,以确定添加其他 Look 会如何影响效果。

如果您对新的 Looker 信息中心感到满意,请务必使用文件夹权限来确保不会意外更改信息中心。利用用户群组批量管理内容访问权限和权限,而不是逐个用户进行管理。

如果您遇到性能问题,请直接与 Looker 支持团队联系,我们的团队随时准备好进行调查并提供帮助!