我的仪表板速度很慢
首先,您需要确保您的浏览器与 Metabase 兼容
- 清除浏览器缓存并禁用所有扩展程序,然后刷新页面,或者
- 尝试在隐私/隐身会话中加载仪表板。
仪表板包含超过 10 张卡片
- 为每组与同一时间段或细分相关的卡片创建一个新的仪表板。
- 例如,为每周与每月指标或新客户与回头客创建新的仪表板。
- 将您的卡片移动到新的仪表板,直到每个仪表板的卡片少于 10 张。
- 使用自定义目标来链接不同仪表板上的相关卡片。
解释
包含 50 张卡片的仪表板几乎总是比包含 10 张卡片的 5 个仪表板慢。Metabase 通过刷新其上的所有问题(即,重新执行针对数据库的所有查询)来显示仪表板。您的数据仓库可能会尝试同时运行这些查询以更快地返回结果,但是,这些查询实际上可能会相互竞争并降低速度(就像您的计算机上同时打开了太多程序一样)。
除了运行速度更快之外,小型且专注的仪表板也更容易让人理解,而不会感到不知所措。有关更多提示,请查看我们关于 BI 仪表板最佳实践的文章。
多人同时使用的仪表板
- 可选:使用 Metabase 的使用情况分析来查看您的 Metabase 使用情况统计信息*。
- 为热门仪表板上的问题设置缓存。
- 在非高峰时段运行仪表板,以便人们可以在几秒钟内加载缓存的结果,而不是向数据库执行新的查询。
* 适用于 Pro 和 Enterprise 计划。
解释
如果您的仪表板在同一时间段(例如,在工作日开始时)被很多人查看,则您最终可能会遇到排队的查询或饱和的数据库连接。缓存允许您通过提前运行那些缓慢的查询来为高峰流量做好准备,以便结果随时可用。
缓存所需的工作量较少,因为它不涉及对您的架构或数据库的任何更改。如果您准备投入更多资源来解决仪表板性能问题的根本原因,请查看此常见架构和数据库优化列表。
嵌入式仪表板比原始仪表板慢
- 为了加快嵌入式仪表板的速度,请设置锁定参数以预先过滤您的数据。
解释
使问题或仪表板运行更快的最简单方法之一是使用较小的数据集。您的 Metabase 管理员可以使用 SSO、数据权限和数据沙盒等功能应用自动数据限制。
但是,当有人在静态嵌入中加载问题或仪表板时,该问题或仪表板将查询完整数据集(而不是受权限限制的较小数据集)。静态签名嵌入不需要人们登录,并且查看签名嵌入的未经身份验证的人员将不受管理员设置的权限和数据限制的约束。
仪表板比类似的仪表板慢
- 删除您在最终结果中不需要的字段(列)。
- 添加过滤器以减少正在查询的数据量。例如
- 将时间范围缩小到您关心的报告期。
- 排除无效记录,例如:空白、空值或包含“已取消”、“已过期”、“无效”等值的行。
- 删除未使用的表的连接。
- 如果您正在聚合查询构建器中的数据,请询问您的数据库管理员是否有可以使用的预聚合视图。
解释
当您更新问题以使用最少数量的行或列(或将问题切换为使用较小的表(例如,摘要表))时,您的数据库可以花费更少的时间扫描这些记录,以便返回结果。缩小问题范围尤其重要,如果您从其他人的已保存问题或模型开始,则尤其需要考虑,因为您可能不需要原始创建者决定包含的所有数据。
如果您的所有仪表板都很慢,则可能是受到特定数据源性能的限制。在这种情况下,我们建议您与数据库管理员合作排查数据库性能问题。
相关问题
您仍然遇到问题吗?
如果您无法使用故障排除指南解决您的问题
- 搜索或询问 Metabase 社区。
- 搜索已知错误或限制。
阅读其他Metabase 版本的文档。