Skip to main content
Version: 10.3.2

Fine-tune Analytics performance

You can fine-tune Superset Analytics performance flexibly from the docker-compose.yml file based on the instance size. The sections below describe the configurable parameters and how to set them.

superset_server_worker_amount

The parameter defines the number of Gunicorn Worker processes used to handle incoming Superset A-nalytics requests.

Set the parameter based on the number of CPU cores and the request load. Use more Workers in high-traffic environments with sufficient CPU to handle parallel user requests. Fewer Workers are suitable for low-traffic or resource-constrained environments.

superset_server_worker_class

The parameter specifies the Gunicorn Worker type. gthread enables multi-threaded request handling within each Worker.

Use gthread when Superset handles many concurrent input- and output-bound requests (dashboards, API calls). It is preferred over sync Workers for modern Superset deployments with high concurrency.

superset_server_threads_amount

The parameter determines the number of threads per worker, allowing concurrent request processing.

Increase the parameter when dashboards have multiple simultaneous users or when queries are mostly input- and output-bound requests. Lower thread counts are recommended for CPU-heavy workloads to avoid context-switching overhead.

superset_gunicorn_timeout

The parameter sets the maximum duration (in seconds) a request can run before the associated Worker is terminated.

Increase this for long-running queries, large dashboards, or slow data sources (for instance, complex SQL, large joins). Lower values are suitable for fast interactive environments to quickly fail stalled requests.

superset_gunicorn_keepalive

The parameter controls how long (in seconds) idle HTTP connections are kept open.

Increase Keep-Alive when clients reuse HTTP connections (dashboards with frequent API calls). Lower values are better in environments with many short-lived or external connections.

superset_worker_max_requests

The parameter limits the number of requests a Worker can process before restarting to mitigate memory leaks.

Set this to prevent memory leaks in long-running Python processes. Lower values are recommended when memory growth is observed. Higher values reduce Worker restarts.

superset_worker_max_requests_jitter

The parameter adds a random offset to the max requests limit to prevent all Workers from restarting simultaneously.

Always set the parameter in production to avoid all Workers restarting at the same time, which can cause service downtime.

superset_server_limit_request_line

The parameter specifies the maximum size of the HTTP request line. The value of 0 disables the limit.

Increase or disable (0) this when requests include large URLs, such as dashboards with many filters or parameters. Restrict the parameter in security-sensitive environments to mitigate malformed request attacks.

superset_server_limit_request_field_size

The parameter specifies the maximum size of HTTP request headers. The value of 0 disables the limit.

Increase or disable (0) the parameter when clients send large headers (JWT tokens, SSO headers). Restrict the parameter in locked-down environments for better request validation.

superset_gunicorn_access_log_file

The parameter specifies the file path where Gunicorn access logs are written.

Enable access logs in production and audit-required environments for request tracing, debugging, and analytics. The parameter can be disabled or redirected in high-throughput systems to reduce input and output overhead.

superset_gunicorn_error_log_file

The parameter defines the file path where Gunicorn error logs are written.

Always enable in production to capture Worker crashes, timeouts, and application errors. Critical for troubleshooting and monitoring.

superset_cache_default_timeout

The parameter defines the default cache expiration time (in seconds) for cached objects in Superset Analytics.

Increase the parameter when data is relatively static to reduce the query load and improve performance. Lower values are better for real-time or frequently changing datasets.

superset_filter_state_cache_timeout

The parameter specifies the cache duration (in seconds) for dashboard filter state persistence.

Increase the parameter when users expect persistent dashboard filter states across sessions. Lower values are suitable when dashboards change frequently or memory usage must be minimized.

superset_explore_form_data_cache_timeout

The parameter specifies the cache duration (in seconds) for the Explore view form data.

Increase the parameter to improve performance for frequently used Explore workflows. Lower values are useful during active development or frequent schema changes.

superset_celery_worker_prefetch_multiplier

The parameter defines the number of tasks each Celery Worker prefetches to improve task execution throughput.

Increase the parameter for high-throughput, short-running background tasks (alerts, async queries). Lower the value when tasks are long-running to ensure fair task distribution across Workers.