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