构建有效的 Looker 信息中心,为用户提供精心挑选的视图,是帮助用户探索数据的最佳方式之一。如果您想为用户打造出色的性能体验,请在设计信息中心时考虑本页中的提示。
Looker 信息中心在浏览器中加载。如需构建出性能最佳的应用,请牢记以下事实。
信息中心性能最重要的因素是底层 SQL 查询性能。每个信息中心元素(如果不是从缓存返回的)都会运行一个 SQL 查询,该查询需要一定时间才能在底层数据库上执行。如需详细了解如何构建高性能查询,请参阅优化 Looker 性能最佳实践页面中的优化查询性能部分。
有些组件对内存的依赖程度高于对 SQL 的依赖程度,这些组件可能会导致信息中心性能下降:
-
数据量对性能的影响最大。单个元素中返回的数据越多,消耗的内存资源就越多。返回数千个数据点的 Look 和信息中心元素会使用更多内存。
-
限制信息中心元素的数量。由于单个元素的设计会根据多种因素(稍后将在本页中介绍)影响其内存消耗,因此对于数量没有硬性规定。不过,请避免创建包含 25 个或更多查询的信息中心。通过在信息中心之间创建导航链接,或创建指向自定义网址的链接,打造从一个信息中心到另一个信息中心的精选导航,从而保持信息中心的高效运行。您还可以尝试将类似的指标串联到同一个单值可视化图表中,以避免出现许多单块可视化图表。
-
巧妙地使用信息中心设置。如果您的信息中心使用自动刷新,请确保其刷新速度不快于 ETL 流程。一般来说,应避免将自动刷新频率设置为高于每 15 分钟一次。如果信息中心需要过滤,请勿使用加载时运行。使用必需的过滤条件可防止用户在没有必要过滤条件的情况下运行信息中心。
-
利用缓存。最佳做法是使用 数据组将所有 Looker 内容(信息中心、Look、时间表)与 ETL 流程同步。这有助于避免在数据不是最新状态时进行不必要的查询。
-
查询后处理功能(例如合并结果、自定义字段和表计算)会消耗内存。使用的查询后处理功能越多,消耗的内存就越多。如果您要在多个 Look 和信息中心中使用相同的表格计算、合并结果或自定义字段,请尽可能将它们硬编码到 LookML 模型中。一般来说,请勿向信息中心添加超过 4 个合并结果图块。
-
透视维度会消耗内存。在 Look 或信息中心图块中透视的维度越多,加载信息中心时消耗的内存就越多。如第一个项目符号中所述,这是因为返回的数据越多,所用的数据就越多。如果您透视的维度具有高基数(许多唯一值),则每个值都会对应一列。在信息中心或 Look 级别进行过滤,以便用户选择他们最感兴趣的维度值进行比较,而不是一次性显示所有内容。
-
列数和行数过多会消耗更多内存。为了获得理想的浏览器性能,建议列数不超过 50 列。同样,如第一个项目符号中所述,返回大量行和列的 Look 会降低性能。在信息中心或 Look 级别进行过滤,以减少元素中的结果数量。
-
利用单个查询中的共享过滤条件,在多个图块中呈现单个查询结果。这样一来,通过使用一个查询来为多个信息中心元素提供数据,应该可以减少从信息中心运行的查询总数。
-
AND/OR 过滤条件。您可以创建的群组数量没有限制;不过,过多的过滤群组可能会影响浏览器性能。
-
请谨慎使用“所有结果”选项下载或交付查询,因为有些查询可能非常大,在处理时会使 Looker 服务器不堪重负。
请务必在添加元素后测试信息中心的性能。在构建过程中,请继续前往信息中心并刷新页面,以确定添加更多 Look 后效果会受到怎样的影响。
对新的 Looker 信息中心感到满意后,请务必利用文件夹权限设置来确保信息中心不会被意外更改。利用用户群组批量管理内容访问权限和许可,而不是逐个管理用户。
如果您遇到性能问题,请直接与 Looker 支持团队联系,我们的团队随时准备好进行调查并提供帮助!