0

我有一个带有几个切片设置的仪表板。切片一个接一个地加载,而不是同时加载。这会导致糟糕的用户体验。我的数据位于 S3 上,我正在使用 Athena 连接器进行查询。我可以看到对 Athena 的调用是按顺序触发的,每个查询都等待它之前的一个查询在运行之前完成。

我正在使用gevent,据我所知这应该不是问题吗?

以下是我的 Superset 配置的摘录:

SUPERSET_WORKERS = 8
WEBSERVER_THREADS = 8

它曾经分别设置为 2 和 1,但我将其分别设置为 8,看看这是否可能是问题所在。我得到了同样的结果。

这是一个简单的配置错误问题还是我遗漏了什么?

4

1 回答 1

0

在增加gunicorn. 如果您正在查看CPU intense operations,您需要很多进程,而您可能需要很多线程进行I/O intensive操作。

对于您的问题,您不需要很多过程;但是进程中的线程。使用该配置,下一步将是调试如何生成greenlets。(gevents 促进concurrency。并发!== 并行处理)。

要使用多个线程进行引导gunicorn,您可以执行以下操作:

gunicorn -b localhost:8000 main:app --threads 30 --reload

请发布更多代码以方便有针对性的帮助。

于 2018-07-16T11:41:05.120 回答