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

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

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

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

某些组件的内存密集型比与 SQL 相关,可能会导致信息中心性能降低:

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

  • 限制信息中心元素的数量。关于数量,没有硬性规定,因为单个元素的设计会影响其内存消耗,具体取决于几个因素(本页后面会介绍)。不过,应避免创建包含 25 个或更多查询的信息中心。通过在信息中心之间创建导航链接,或创建指向自定义网址的链接以创建从信息中心到信息中心的精选导航,使信息中心性能保持简洁。您还可以尝试将类似的测量值串联到相同的单值可视化结果中,以避免大量单图块可视化。

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

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

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

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

  • 存在很多列和行会消耗更多内存。为确保浏览器性能,建议不要超过 50 列。同样,正如第一个要点所述,Look 返回大量行和列可能会导致性能下降。在信息中心或 Look 级别进行过滤,以减少元素内的结果数量。

  • 细目菜单中的信息中心实验室功能虽然对内存消耗没有影响,但可能会拖慢查询速度并导致信息中心性能降低。

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

  • 请谨慎使用所有结果选项传送查询,因为某些查询可能非常庞大,在处理时可能会使 Looker 服务器超负荷。

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

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

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