apache-superset - Apache SuperSet 很慢

标签 apache-superset

关于如何更快地制作超集的任何建议?

缓存好像是从缓存中加载全量数据,我以为它只从缓存中加载旧数据,而从数据库中加载实时数据,不是这样吗?

一些并行处理怎么样?

最佳答案

此答案自 Superset 0.37.0 起有效。
目前,仪表板性能受几个不同因素的影响。我将在下面列举它们以及提高性能的方法:

  • 数据库并发限制 可能会对仪表板性能产生影响。仪表板通过并发 Web 请求并行加载其信息。确保提供的数据库用户允许足够的并发性,以便查询不会在数据库层排队。
  • 缓存性能 您的缓存层应该能够以极快的速度返回多个结果(如果不是并行的)。我们已经成功地将 S3 用于我们的缓存。
  • 缓存命中率 Superset 只会针对与最近运行的查询完全匹配的查询访问缓存。否则,完整查询将落入底层分析数据库(在本例中为 Druid)。您可以通过在仪表板上使用更细粒度的分辨率来减少 Druid 上的查询负载 - 如果可以降低更新频率,例如一天几次而不是实时更新,这可能会命中所有请求的缓存其他比正在考虑的新时期内的第一个请求。
  • Python Web 进程并发限制 确保您的 Web 应用程序服务器可以处理足够多的并行请求。浏览器会同时请求多个图表的数据,系统需要能够并行处理这些请求。
  • 图表查询性能 由于经常请求数据,特别是对于来自 Druid 等数据库的实时数据,优化图表运行的查询可能非常有用。我会查看正在利用的任何虚拟数据源,看看它们是否可以实现或提高效率。
  • Web 浏览器并发请求限制 默认情况下,大多数 Web 浏览器都会限制可以向同一 FQDN 发出的并发请求数。如果您在同一个仪表板上有 6 个以上的图表,那么在运行 Superset 的多个 FQDN 之间平衡请求以绕过此浏览器限制会很有帮助。在 Github 上的问题历史记录中有更多关于该方法的信息,但 Superset 确实支持这种类型的配置。

  • 随着时间的推移,社区对提高性能非常感兴趣,因此建议将所有分析查询移至 Celery,并进行其他架构更改以提高性能。我希望这个描述有帮助,这里的一些东西可以帮助你追踪问题!

    关于apache-superset - Apache SuperSet 很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57053116/

    相关文章:

    python - 将 Apache Superset 与 Docker 一起使用时缺少 MapBox token

    superset - 如何让Apache Superset在指定路径上运行

    apache-superset - 有没有人尝试根据 preset.io 博客使用 Superset 制作自定义图表?

    cmake - pyarrow 的构建轮失败

    python - Cron 失败并显示消息 Superset : command not found

    reactjs - 无法在我的 React 应用程序中嵌入 Apache Superset

    python - 使用 mysql 数据库配置 apache 超集

    apache-superset - 如何在 Apache Superset 中更改表的列名?

    iframe - 嵌入 Apache Superset 禁止的 X-Frame-Options