我的仪表板运行缓慢

首先,您需要确保您的浏览器与 Metabase 友好。

  • 清除浏览器缓存并禁用所有扩展,然后刷新页面,或者
  • 尝试在隐私/隐身模式下加载仪表板。

仪表板包含超过 10 张卡片

  1. 为与同一时间段或细分相关的每组卡片创建新的仪表板。
    • 例如,为每周与每月指标,或新客户与回访客户创建新的仪表板。
  2. 将您的卡片移动到新的仪表板,直到每个仪表板包含 10 张或更少的卡片。
  3. 使用自定义目标来链接不同仪表板上相关的卡片。

解释

一个包含 50 张卡片的仪表板几乎总是比 5 个各包含 10 张卡片的仪表板慢。Metabase 通过刷新其上的所有问题(即重新执行所有针对您数据库的查询)来显示仪表板。您的数据仓库可能会尝试同时运行这些查询以更快地返回结果,但是,这些查询实际上可能会相互竞争并降低速度(就像您的计算机同时打开太多程序一样)。

除了运行更快之外,一个小型且集中的仪表板也更容易让人理解,而不会感到不知所措。有关更多提示,请查看我们关于BI 仪表板最佳实践的文章。

仪表板同时被多人使用

  1. 可选:使用 Metabase 的使用情况分析来查看您的 Metabase 使用统计数据*。
  2. 为您热门仪表板上的问题设置缓存
  3. 在非高峰时段运行仪表板,以便人们可以在几秒钟内加载缓存结果,而不是向数据库执行新的查询。

* 在专业版和企业版计划中可用。

解释

如果您的仪表板在同一时间(例如,在工作日开始时)被许多人查看,您可能会遇到查询排队或数据库连接饱和的情况。缓存允许您通过提前运行那些慢速查询一次来为高峰流量做准备,以便结果随时可用。

缓存所需的工作量较少,因为它不涉及对您的模式或数据库进行任何更改。如果您准备投入更多资源来解决仪表板性能问题的根本原因,请查看此常见模式和数据库优化列表。

嵌入式仪表板比原始仪表板慢

  1. 要加快嵌入式仪表板的速度,请设置一个锁定参数以预过滤您的数据

解释

让问题或仪表板运行更快的最简单方法之一是使用较小的数据集。您的 Metabase 管理员可以使用SSO数据权限数据沙盒等功能应用自动数据限制。

然而,当有人在静态嵌入中加载问题或仪表板时,该问题或仪表板将查询完整数据集(而不是受权限限制的较小数据集)。静态签名嵌入不需要人们登录,未经验证的人员查看签名嵌入将不受您的管理员设置的权限和数据限制的影响。

仪表板比类似仪表板慢

  1. 删除最终结果中不需要的字段(列)。
  2. 添加筛选器以减少查询的数据量。例如:
    • 将时间范围缩小到您关心的报告期。
    • 排除无效记录,例如:空白、空值或包含“已取消”、“已过期”、“无效”等值的行。
  3. 移除到未使用的表的连接
  4. 如果您正在从查询构建器聚合数据,请询问您的数据库管理员是否有可以使用的预聚合视图

解释

当您更新问题以使用最少行或列(或将问题切换为使用较小的表,例如汇总表)时,您的数据库可以减少扫描这些记录的时间以返回结果。缩小问题范围尤其重要,如果您是从别人的已保存问题或模型开始,因为您可能不需要原始创建者决定包含的所有数据。

如果您的所有仪表板都运行缓慢,您可能受到特定数据源性能的限制。在这种情况下,我们建议您与数据库管理员合作,解决数据库性能问题

您仍然卡住了吗?

如果您无法使用故障排除指南解决问题

阅读其他Metabase 版本的文档。

© . All rights reserved.