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

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

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

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

有些组件与 SQL 相关性不高,但对内存的占用量较大,可能会导致信息中心的性能缓慢:

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

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

  • 有策略地使用信息中心设置。如果信息中心使用自动刷新功能,请确保其刷新速度不快于 ETL 流程。一般来说,您应避免将自动刷新设置为低于 15 分钟。如果信息中心需要过滤,请勿使用加载时运行。使用必需的过滤条件可防止用户在没有必需过滤条件的情况下运行信息中心。

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

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

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

  • 列和行数过多会消耗更多内存。为了提升浏览器性能,建议将列数控制在 50 列以内。再次强调,如第一个要点中所述,返回大量行和多列的 Look 可能会降低性能。在信息中心或外观层级过滤,以减少元素中的结果数量。

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

  • 请谨慎使用所有结果选项提交查询,因为某些查询可能非常大,在处理时会使 Looker 服务器过载。

添加元素后,请务必测试信息中心的性能。在构建过程中,请继续前往信息中心并刷新页面,以确定添加更多外观后效果会受到怎样的影响。

对新的 Looker 信息中心满意后,请务必使用文件夹权限,以确保信息中心不会被无意中更改。利用用户群组批量管理内容访问权限和权限,而不是按用户逐个管理。

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