Gunicorn is our WSGI HTTP server that runs Superset. We are currently using it in pre-fork mode, with 8 workers. This means that every HTTP request for superset is handled by one process in a synchronous, so one request stick to its worker process until it finishes.
This is ok for CPU bound tasks, but Superset is mostly I/O bound (waiting for Druid/DBs/etc.. to return data). The suggestion is to use Gunicorn with gevent, that is a async I/O lib (based on libevent) to transform the HTTP requests into coroutines, handling concurrency on the same worker process when I/O is performed.
The trick should be to force gunicorn[gevent] in the Superset's frozen-requirements.txt, deploy and then force the use of gevent via gunicorn config.