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