Apache Superset - одновременная загрузка фрагментов панели инструментов (Athena) - PullRequest
0 голосов
/ 05 июня 2018

У меня есть приборная панель с настройкой нескольких срезов.Ломтики загружаются один за другим, а не одновременно.Это приводит к плохому пользовательскому опыту.Мои данные находятся на S3, и я использую разъем Athena для запросов.Я вижу, что вызовы к Athena выполняются по порядку, и каждый запрос ожидает завершения до того, как он завершится.

Я использую gevent, что, насколько я могу судить, не должно бытьпроблема?

Ниже приведена выдержка из моей конфигурации Superset:

SUPERSET_WORKERS = 8
WEBSERVER_THREADS = 8

Раньше она была установлена ​​на 2 и 1 соответственно, но я поднял ее до 8 каждый, чтобы увидеть, может ли это бытьпроблема.Я получаю тот же результат.

Это простая проблема с неправильной настройкой или я что-то упустил?

1 Ответ

0 голосов
/ 16 июля 2018

Важно понимать многопроцессорность и многопоточность, прежде чем увеличивать количество рабочих и потоков для gunicorn.Если вы смотрите на CPU intense operations, вам нужно много процессов, в то время как вы, вероятно, хотите много потоков для операций I/O intensive.

С вашей проблемой вам не нужно много процессов;но темы внутри процесса.С этой конфигурацией следующим шагом будет отладка того, как вы порождаете гринлеты.(gevents облегчает concurrency. Параллелизм! == Параллельная обработка).

Для загрузки gunicorn с несколькими потоками вы можете сделать что-то вроде этого:

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

Пожалуйста, опубликуйте больше кода для облегчения адресной помощи.

...