Skip to main content
Version: 10.3.3

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.