You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by "Nimishbansal-16 (via GitHub)" <gi...@apache.org> on 2025/06/27 03:17:21 UTC

[D] Slow dashboard loading even after caching [superset]

GitHub user Nimishbansal-16 created a discussion: Slow dashboard loading even after caching

I am using Redis cache for data and filters, but still on my ui for embedded dashboards its taking 2-3 sec to load for single user, and if the number of users increases this also gets increased. In ui it shows waiting for database during loading. How can this time be further reduced.

In my Redis I can see calls being made to fetch the data, so that is working fine.
Here is my current config. - 

CACHE_DEFAULT_TIMEOUT = 86400   # 1 day in seconds as cache

CACHE_CONFIG = {
    'CACHE_TYPE': 'RedisCache',
    'CACHE_DEFAULT_TIMEOUT': CACHE_DEFAULT_TIMEOUT,
    'CACHE_KEY_PREFIX': 'superset_cache_test_',
    'CACHE_REDIS_URL':'redis://:{pass}@{ip}:{port}/{db1}'
}

CHART_CACHE_TIMEOUT = CACHE_DEFAULT_TIMEOUT
DATA_CACHE_CONFIG = CACHE_CONFIG

FILTER_STATE_CACHE_CONFIG = {
    'CACHE_TYPE': 'RedisCache',
    'CACHE_DEFAULT_TIMEOUT': CACHE_DEFAULT_TIMEOUT,
    'CACHE_KEY_PREFIX': 'superset_filter_',
    'CACHE_REDIS_URL':'redis://:{pass}@{ip}:{port}/{db2}'
}

FILTER_STATE_CACHE_TIMEOUT = CACHE_DEFAULT_TIMEOUT


GitHub link: https://github.com/apache/superset/discussions/33944

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] Slow dashboard loading even after caching [superset]

Posted by "Nimishbansal-16 (via GitHub)" <gi...@apache.org>.
GitHub user Nimishbansal-16 added a comment to the discussion: Slow dashboard loading even after caching

@dosu Please help

GitHub link: https://github.com/apache/superset/discussions/33944#discussioncomment-13592693

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] Slow dashboard loading even after caching [superset]

Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] added a comment to the discussion: Slow dashboard loading even after caching

<!-- Answer -->
To enable detailed logging for cache effectiveness in Superset 5.0.0, set `LOG_LEVEL = logging.DEBUG` in your `superset/config.py` and configure log rotation if needed. This will give you verbose logs, including cache key usage and cache hit/miss events. Example config:

```python
LOG_LEVEL = logging.DEBUG
ENABLE_TIME_ROTATE = True
TIME_ROTATE_LOG_LEVEL = logging.DEBUG
FILENAME = os.path.join(DATA_DIR, "superset.log")
ROLLOVER = "midnight"
INTERVAL = 1
BACKUP_COUNT = 30
```
[Reference](https://github.com/apache/superset/discussions/32998)

About guest tokens: cache is still used with guest tokens. Cache keys only become unique per user/token if your chart SQL/Jinja or row-level security (RLS) rules reference user or guest-token context (like `current_user_id`, `get_guest_user_attribute`, or similar macros). If your charts don’t reference user context, cache is shared globally—even for embedded dashboards with guest tokens. If you do use user context in queries, cache effectiveness drops because each user/token gets a unique cache key, leading to more cache misses and database hits [details](https://github.com/apache/superset/blob/8ee5505b61d93bd6a65ad545b9e00ef6d54e31b8/superset/viz.py).

The Redis key `superset_cache_test_superset.views.base.cached_common_bootstrap_data_memver` is for short-lived UI/config data (frontend config, language, feature flags) and is not related to chart data. Keys like `superset_cache_test_vRRVrGtOe/jKm7nwjBlO/V` are for chart/query result caching. These store the result dataframe, SQL, filter info, and metadata for rendering charts [source](https://github.com/apache/superset/blob/8ee5505b61d93bd6a65ad545b9e00ef6d54e31b8/superset/views/base.py).

Superset does not support global dashboard-level caching—each chart’s data is cached independently. There’s no built-in way to cache an entire dashboard for all users together [reference](https://github.com/apache/superset/blob/8ee5505b61d93bd6a65ad545b9e00ef6d54e31b8/superset/viz.py). To maximize cache effectiveness, avoid referencing user context in chart SQL/Jinja or RLS unless absolutely necessary.

To monitor cache effectiveness, look for cache key logs and cache hit/miss stats in your Superset logs and Redis. High cache fragmentation (many unique keys for similar queries) usually means user context or highly variable filters are in use. If you want to see cache hit rates, you can also monitor Redis with `MONITOR` or similar tools to see GET/SET patterns and key reuse.


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot).*

---
<sup>How did I do? [Good](https://app.dosu.dev/response-feedback/0f56d0a9-2114-49a6-8338-cdb19fd97f86?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/0f56d0a9-2114-49a6-8338-cdb19fd97f86?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/0f56d0a9-2114-49a6-8338-cdb19fd97f86?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/0f56d0a9-2114-49a6-8338-cdb19fd97f86?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/0f56d0a9-2114-49a6-8338-cdb19fd97f86?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/0f56d0a9-2114-49a6-8338-cdb19fd97f86?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/0f56d0a9-2114-49a6-8338-cdb19fd97f86?feedback_type=other)</sup>&nbsp;&nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Sh
 are on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/33944)

GitHub link: https://github.com/apache/superset/discussions/33944#discussioncomment-13592795

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] Slow dashboard loading even after caching [superset]

Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] added a comment to the discussion: Slow dashboard loading even after caching

<!-- Answer -->
To check if a chart was served from cache, look for log lines like loading_from_cache, loaded_from_cache, and Serving from cache for each /api/v1/chart/data request. These confirm that the chart data came from cache and not the database. In your logs, both charts show these lines, so they were fully fetched from cache.

Superset does not provide a single log entry or summary for the whole dashboard—you need to check each chart’s logs individually. If you’re using the API, the is_cached field in the chart data response also tells you if the data was served from cache.

If you see loaded_from_source or similar lines instead, that means the chart was not served from cache and hit the database instead. Force refreshes or cache invalidation can also cause cache misses even if cache is enabled. 

There’s no built-in way to cache or check the cache status for an entire dashboard at once—cache is always managed per chart.


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot).*

---
<sup>How did I do? [Good](https://app.dosu.dev/response-feedback/f4b5801e-2a67-4da7-a2f5-976e8360a211?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/f4b5801e-2a67-4da7-a2f5-976e8360a211?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/f4b5801e-2a67-4da7-a2f5-976e8360a211?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/f4b5801e-2a67-4da7-a2f5-976e8360a211?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/f4b5801e-2a67-4da7-a2f5-976e8360a211?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/f4b5801e-2a67-4da7-a2f5-976e8360a211?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/f4b5801e-2a67-4da7-a2f5-976e8360a211?feedback_type=other)</sup>&nbsp;&nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Sh
 are on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/33944)

GitHub link: https://github.com/apache/superset/discussions/33944#discussioncomment-13592897

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] Slow dashboard loading even after caching [superset]

Posted by "Nimishbansal-16 (via GitHub)" <gi...@apache.org>.
GitHub user Nimishbansal-16 added a comment to the discussion: Slow dashboard loading even after caching

@dosu How can I check if for chart/dashboard is completely fetched from cache or not for users request.
This is my debug logs of superset: 


2025-06-27 03:43:02,206:DEBUG:superset.stats_logger:[stats_logger] (incr) csrf_token
[2025-06-27 03:43:02 +0000] [13633] [DEBUG] Closing connection. 
[2025-06-27 03:43:02 +0000] [13633] [DEBUG] POST /api/v1/security/guest_token
[2025-06-27 03:43:02 +0000] [13633] [DEBUG] Closing connection. 
[2025-06-27 03:43:02 +0000] [13633] [DEBUG] POST /api/v1/security/guest_token/
2025-06-27 03:43:02,226:DEBUG:superset.stats_logger:[stats_logger] (incr) SecurityRestApi.guest_token.success
2025-06-27 03:43:02,226:DEBUG:superset.stats_logger:[stats_logger] (timing) SecurityRestApi.guest_token.time | 2.216719090938568 
2025-06-27 03:43:02,226:DEBUG:superset.stats_logger:[stats_logger] (incr) guest_token
[2025-06-27 03:43:02 +0000] [13633] [DEBUG] Closing connection. 
[2025-06-27 03:43:02 +0000] [13633] [DEBUG] GET /api/v1/me/roles/
[2025-06-27 03:43:02 +0000] [13633] [DEBUG] Closing connection. 
[2025-06-27 03:43:02 +0000] [13633] [DEBUG] GET /api/v1/dashboard/12
[2025-06-27 03:43:02 +0000] [13631] [DEBUG] GET /api/v1/dashboard/12/charts
[2025-06-27 03:43:02 +0000] [13632] [DEBUG] GET /api/v1/dashboard/12/datasets
2025-06-27 03:43:02,476:WARNING:root:Failed to add user to db session: Class 'werkzeug.local.LocalProxy' is not mapped
2025-06-27 03:43:02,481:DEBUG:superset.stats_logger:[stats_logger] (incr) DashboardRestApi.get_charts.success
2025-06-27 03:43:02,481:DEBUG:superset.stats_logger:[stats_logger] (timing) DashboardRestApi.get_charts.time | 69.61426883935928 
[2025-06-27 03:43:02 +0000] [13631] [DEBUG] Closing connection. 
2025-06-27 03:43:02,500:DEBUG:clickhouse_connect.json_impl:Using python library for writing JSON byte strings
2025-06-27 03:43:02,500:WARNING:root:Failed to add user to db session: Class 'werkzeug.local.LocalProxy' is not mapped
2025-06-27 03:43:02,501:DEBUG:superset.stats_logger:[stats_logger] (incr) DashboardRestApi.get
2025-06-27 03:43:02,504:DEBUG:superset.stats_logger:[stats_logger] (incr) DashboardRestApi.get.success
2025-06-27 03:43:02,504:DEBUG:superset.stats_logger:[stats_logger] (timing) DashboardRestApi.get.time | 108.29558596014977 
[2025-06-27 03:43:02 +0000] [13633] [DEBUG] Closing connection. 
2025-06-27 03:43:02,563:DEBUG:superset.models.core:Database._get_sqla_engine(). Masked URL: sqlite:////home/ubuntu/.superset/examples.db?check_same_thread=false
2025-06-27 03:43:02,565:DEBUG:superset.models.core:Database._get_sqla_engine(). Masked URL: sqlite:////home/ubuntu/.superset/examples.db?check_same_thread=false
2025-06-27 03:43:02,605:DEBUG:superset.models.core:Database._get_sqla_engine(). Masked URL: mysql+mysqldb://utuser:XXXXXXXXXX@10.225.1.25:3306/us_and_them?charset=utf8
2025-06-27 03:43:02,608:DEBUG:superset.models.core:Database._get_sqla_engine(). Masked URL: mysql+mysqldb://utuser:XXXXXXXXXX@10.225.1.25:3306/us_and_them?charset=utf8
2025-06-27 03:43:02,620:WARNING:root:Failed to add user to db session: Class 'werkzeug.local.LocalProxy' is not mapped
2025-06-27 03:43:02,623:DEBUG:superset.stats_logger:[stats_logger] (incr) DashboardRestApi.get_datasets.success
2025-06-27 03:43:02,623:DEBUG:superset.stats_logger:[stats_logger] (timing) DashboardRestApi.get_datasets.time | 220.86964175105095 
[2025-06-27 03:43:02 +0000] [13632] [DEBUG] Closing connection. 
[2025-06-27 03:43:03 +0000] [13631] [DEBUG] POST /api/v1/chart/data
2025-06-27 03:43:03,873:DEBUG:superset.common.utils.query_cache_manager:Cache key: 0b6d5ac155aa32d443059fa7df85d13e
2025-06-27 03:43:03,873:DEBUG:superset.stats_logger:[stats_logger] (incr) loading_from_cache
2025-06-27 03:43:03,873:DEBUG:superset.stats_logger:[stats_logger] (incr) loaded_from_cache
2025-06-27 03:43:03,873:DEBUG:superset.common.utils.query_cache_manager:Serving from cache
[2025-06-27 03:43:04 +0000] [13633] [DEBUG] POST /api/v1/chart/data
2025-06-27 03:43:04,079:WARNING:root:Failed to add user to db session: Class 'werkzeug.local.LocalProxy' is not mapped
2025-06-27 03:43:04,080:DEBUG:superset.stats_logger:[stats_logger] (incr) ChartDataRestApi.json_dumps
2025-06-27 03:43:04,085:WARNING:root:Failed to add user to db session: Class 'werkzeug.local.LocalProxy' is not mapped
2025-06-27 03:43:04,086:DEBUG:superset.stats_logger:[stats_logger] (incr) _get_data_response
2025-06-27 03:43:04,092:DEBUG:parsedatetime:eval now with context - False, False
2025-06-27 03:43:04,093:WARNING:root:Failed to add user to db session: Class 'werkzeug.local.LocalProxy' is not mapped
2025-06-27 03:43:04,096:DEBUG:superset.stats_logger:[stats_logger] (incr) ChartDataRestApi.data.success
2025-06-27 03:43:04,097:DEBUG:superset.stats_logger:[stats_logger] (timing) ChartDataRestApi.data.time | 291.57551750540733 
[2025-06-27 03:43:04 +0000] [13631] [DEBUG] Closing connection. 
2025-06-27 03:43:04,138:DEBUG:superset.common.utils.query_cache_manager:Cache key: 56b5b8525b1b4d02c45ec5c326dc12a9
2025-06-27 03:43:04,138:DEBUG:superset.stats_logger:[stats_logger] (incr) loading_from_cache
2025-06-27 03:43:04,138:DEBUG:superset.stats_logger:[stats_logger] (incr) loaded_from_cache
2025-06-27 03:43:04,138:DEBUG:superset.common.utils.query_cache_manager:Serving from cache
2025-06-27 03:43:04,142:WARNING:root:Failed to add user to db session: Class 'werkzeug.local.LocalProxy' is not mapped
2025-06-27 03:43:04,143:DEBUG:superset.stats_logger:[stats_logger] (incr) ChartDataRestApi.json_dumps
2025-06-27 03:43:04,146:WARNING:root:Failed to add user to db session: Class 'werkzeug.local.LocalProxy' is not mapped
2025-06-27 03:43:04,146:DEBUG:superset.stats_logger:[stats_logger] (incr) _get_data_response
2025-06-27 03:43:04,152:WARNING:root:Failed to add user to db session: Class 'werkzeug.local.LocalProxy' is not mapped
2025-06-27 03:43:04,154:DEBUG:superset.stats_logger:[stats_logger] (incr) ChartDataRestApi.data.success
2025-06-27 03:43:04,154:DEBUG:superset.stats_logger:[stats_logger] (timing) ChartDataRestApi.data.time | 104.3119840323925 
[2025-06-27 03:43:04 +0000] [13633] [DEBUG] Closing connection. 
[2025-06-27 03:43:04 +0000] [13631] [DEBUG] POST /superset/log/


GitHub link: https://github.com/apache/superset/discussions/33944#discussioncomment-13592880

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] Slow dashboard loading even after caching [superset]

Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] edited a comment on the discussion: Slow dashboard loading even after caching

<!-- Answer -->
The main reason your dashboards are still slow, even with Redis caching, is that Superset caches each chart’s data individually, and the cache key depends on things like filter values, user context, and query parameters. If any of these change (for example, different users, filters, or a force-refresh), Superset will bypass the cache and hit the database again. This is why you see “waiting for database” in the UI—the backend is actually waiting for the database to respond, not Redis. There’s no global dashboard cache, so if your dashboard has many charts or high user concurrency, the database can quickly become a bottleneck, even if Redis is working as expected ([source](https://github.com/apache/superset/discussions/32343)).

To improve performance, focus on optimizing your database (indexes, materialized views, etc.), reducing the number of charts per dashboard, and minimizing filter variability. Also, check if you have GLOBAL_ASYNC_QUERIES enabled—if so, try disabling it or make sure your embedded dashboards and Superset are served from the same domain, as async query settings can cause slow loads or errors in embedded scenarios ([source](https://github.com/apache/superset/issues/33561)).

You can diagnose cache effectiveness by enabling debug logs in Superset, monitoring Redis for cache hit/miss rates, and watching for force-refreshes or dynamic filters that might cause cache fragmentation. Remember, the filter state cache only stores UI filter values and does not cache query results or reduce database hits.

Recent Superset versions have also improved cache key handling for Jinja templates, which can affect cache hit rates if you use user-based or dynamic SQL in your charts ([source](https://github.com/apache/superset/pull/30549)). If you need more specific guidance on logging or measuring cache effectiveness, let me know your Superset version and setup details!


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=reply-with-mention&utm_term=apache%2Fsuperset).*

---

Docs are dead. Just use [Dosu](https://dosu.dev?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-tagline&utm_term=apache%2Fsuperset).

[![Leave Feedback](https://img.shields.io/badge/Leave%20Feedback-555555?style=flat)](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-feedback&utm_term=apache%2Fsuperset&message_id=ae734900-f3ff-4e62-8d47-8651ea30e667) [![Ask Dosu about superset](https://img.shields.io/badge/Ask%20Dosu%20about%20superset-2f7b3f?style=flat&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iODYiIGhlaWdodD0iODkiIHZpZXdCb3g9IjAgMCA4NiA4OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNS4yOTIzNiAxMi43OTI4TDE3Ljc1OTMgNi42ODE4OFY3Mi41NjY3TDUuMjkyMzYgODQuMDYxOFYxMi43OTI4WiIgZmlsbD0iI0I0QkI5MSIvPjxwYXRoIGQ9Ik0xOC4yNTc1IDczLjExOTZMNTkuMTMyOSA3Mi43NDhMNTEuNzAxMSA4Mi40MDk1TDI5LjAzMzggODYuMjkxTDYuMjM5NjIgODUuMTU1NEwxOC4yNTc1IDczLjExOTZaIiBmaWxsPSIjNzc4NTYxIi8%2BPHBhdGggZD0iTTE3LjQ5MTYgMy43MzYzM0wzLjU4NTU3IDEyLjcwOTlWODMuNTc5MkMzLjU4NTU3IDg0Ljc1NDIgNC45ODU2MyA4NS4zNjUyIDUuODQ3MDUg
 ODQuNTY2TDE5LjYyOTYgNzEuNzgwMSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI2LjQyODQ0IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48bWFzayBpZD0iZG9zdS1kLWN1dG91dCIgZmlsbD0id2hpdGUiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDAuNzA0IDAuNTE4MDY2SDE3LjA0MzlWNzYuMjIyMUg0MC43MDRINDIuNTgwNUg0Ny44MDEzQzY4LjcwNjQgNzYuMjIyMSA4NS42NTMzIDU5LjI3NTIgODUuNjUzMyAzOC4zNzAxQzg1LjY1MzMgMTcuNDY1IDY4LjcwNjMgMC41MTgwNjYgNDcuODAxMyAwLjUxODA2Nkg0Mi41ODA1SDQwLjcwNFoiLz48L21hc2s%2BPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MC43MDQgMC41MTgwNjZIMTcuMDQzOVY3Ni4yMjIxSDQwLjcwNEg0Mi41ODA1SDQ3LjgwMTNDNjguNzA2NCA3Ni4yMjIxIDg1LjY1MzMgNTkuMjc1MiA4NS42NTMzIDM4LjM3MDFDODUuNjUzMyAxNy40NjUgNjguNzA2MyAwLjUxODA2NiA0Ny44MDEzIDAuNTE4MDY2SDQyLjU4MDVINDAuNzA0WiIgZmlsbD0iI0YzRjZGMSIvPjxwYXRoIGQ9Ik0xNy4wNDM5IDAuNTE4MDY2Vi02LjU3OTE5SDkuOTQ2NjlWMC41MTgwNjZIMTcuMDQzOVpNMTcuMDQzOSA3Ni4yMjIxSDkuOTQ2NjlWODMuMzE5NEgxNy4wNDM5Vjc2LjIyMjFaTTE3LjA0MzkgNy42MTUzMkg0MC43MDRWLTYuNTc5MTlIMTcuMDQzOVY3LjYxNTMyWk0
 yNC4xNDEyIDc2LjIyMjFWMC41MTgwNjZIOS45NDY2OVY3Ni4yMjIxSDI0LjE0MTJaTTQwLjcwNCA2OS4xMjQ5SDE3LjA0MzlWODMuMzE5NEg0MC43MDRWNjkuMTI0OVpNNDIuNTgwNSA2OS4xMjQ5SDQwLjcwNFY4My4zMTk0SDQyLjU4MDVWNjkuMTI0OVpNNDcuODAxMyA2OS4xMjQ5SDQyLjU4MDVWODMuMzE5NEg0Ny44MDEzVjY5LjEyNDlaTTc4LjU1NiAzOC4zNzAxQzc4LjU1NiA1NS4zNTU1IDY0Ljc4NjcgNjkuMTI0OSA0Ny44MDEzIDY5LjEyNDlWODMuMzE5NEM3Mi42MjYxIDgzLjMxOTQgOTIuNzUwNSA2My4xOTQ5IDkyLjc1MDUgMzguMzcwMUg3OC41NTZaTTQ3LjgwMTMgNy42MTUzMkM2NC43ODY2IDcuNjE1MzIgNzguNTU2IDIxLjM4NDcgNzguNTU2IDM4LjM3MDFIOTIuNzUwNUM5Mi43NTA1IDEzLjU0NTMgNzIuNjI2IC02LjU3OTE5IDQ3LjgwMTMgLTYuNTc5MTlWNy42MTUzMlpNNDIuNTgwNSA3LjYxNTMySDQ3LjgwMTNWLTYuNTc5MTlINDIuNTgwNVY3LjYxNTMyWk00MC43MDQgNy42MTUzMkg0Mi41ODA1Vi02LjU3OTE5SDQwLjcwNFY3LjYxNTMyWiIgZmlsbD0iYmxhY2siIG1hc2s9InVybCgjZG9zdS1kLWN1dG91dCkiLz48cGF0aCBkPSJNNjguOTIxNSAzNi4wMTM1QzY4LjkyMTUgMzYuMDEzNSA2NS43MzY5IDQ5LjQ3MzggNTEuNDIzMSA0OS40NzM4QzM3LjEwOTMgNDkuNDczOCAzMi41Nzg3IDM3LjM1OTYgMzIuNTc4NyAzNi4wMTM1IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjcuNjkxNjEi
 IHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0wLjM0ODYzMyA4NS40OTQ2QzAuMzQ4NjMzIDg1LjQ5NDYgMjkuNDg1NiA4NS44MzA5IDM0LjgwOSA4NS42OThDNDQuODMzNyA4NS40NDc3IDUxLjI4NzIgODQuNDAyIDU3LjUyNjkgNzguOTcyNEM2Mi44MTI5IDc0LjM3MjcgNzUuMTM0MiA1OS42ODM2IDc1LjEzNDIgNTkuNjgzNiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI2LjE2NDgyIi8%2BPC9zdmc%2B)](https://github.dosu.com/apache/superset?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-ask-repo&utm_term=apache%2Fsuperset) [![Share Dosu with your team](https://img.shields.io/badge/Share%20Dosu%20with%20your%20team-1f6feb?style=flat)](https://app.dosu.dev/signup?referrer=openSource&source=github-footer&utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-share-team&utm_term=apache%2Fsuperset)

GitHub link: https://github.com/apache/superset/discussions/33944#discussioncomment-13592705

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] Slow dashboard loading even after caching [superset]

Posted by "Nimishbansal-16 (via GitHub)" <gi...@apache.org>.
GitHub user Nimishbansal-16 added a comment to the discussion: Slow dashboard loading even after caching

@dosu Which would be faster to load in ui? Assume caching is enabled.

Having a single dashboard with multiple charts
OR
Having a single dashboard for each chart

GitHub link: https://github.com/apache/superset/discussions/33944#discussioncomment-13592955

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] Slow dashboard loading even after caching [superset]

Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] edited a comment on the discussion: Slow dashboard loading even after caching

<!-- Answer -->
To enable detailed logging for cache effectiveness in Superset 5.0.0, set `LOG_LEVEL = logging.DEBUG` in your `superset/config.py` and configure log rotation if needed. This will give you verbose logs, including cache key usage and cache hit/miss events. Example config:

```python
LOG_LEVEL = logging.DEBUG
ENABLE_TIME_ROTATE = True
TIME_ROTATE_LOG_LEVEL = logging.DEBUG
FILENAME = os.path.join(DATA_DIR, "superset.log")
ROLLOVER = "midnight"
INTERVAL = 1
BACKUP_COUNT = 30
```
[Reference](https://github.com/apache/superset/discussions/32998)

About guest tokens: cache is still used with guest tokens. Cache keys only become unique per user/token if your chart SQL/Jinja or row-level security (RLS) rules reference user or guest-token context (like `current_user_id`, `get_guest_user_attribute`, or similar macros). If your charts don’t reference user context, cache is shared globally—even for embedded dashboards with guest tokens. If you do use user context in queries, cache effectiveness drops because each user/token gets a unique cache key, leading to more cache misses and database hits [details](https://github.com/apache/superset/blob/8ee5505b61d93bd6a65ad545b9e00ef6d54e31b8/superset/viz.py).

The Redis key `superset_cache_test_superset.views.base.cached_common_bootstrap_data_memver` is for short-lived UI/config data (frontend config, language, feature flags) and is not related to chart data. Keys like `superset_cache_test_vRRVrGtOe/jKm7nwjBlO/V` are for chart/query result caching. These store the result dataframe, SQL, filter info, and metadata for rendering charts [source](https://github.com/apache/superset/blob/8ee5505b61d93bd6a65ad545b9e00ef6d54e31b8/superset/views/base.py).

Superset does not support global dashboard-level caching—each chart’s data is cached independently. There’s no built-in way to cache an entire dashboard for all users together [reference](https://github.com/apache/superset/blob/8ee5505b61d93bd6a65ad545b9e00ef6d54e31b8/superset/viz.py). To maximize cache effectiveness, avoid referencing user context in chart SQL/Jinja or RLS unless absolutely necessary.

To monitor cache effectiveness, look for cache key logs and cache hit/miss stats in your Superset logs and Redis. High cache fragmentation (many unique keys for similar queries) usually means user context or highly variable filters are in use. If you want to see cache hit rates, you can also monitor Redis with `MONITOR` or similar tools to see GET/SET patterns and key reuse.


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=reply-with-mention&utm_term=apache%2Fsuperset).*

---

Share context across your team and agents. Try [Dosu](https://dosu.dev?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-tagline&utm_term=apache%2Fsuperset).

[![Leave Feedback](https://img.shields.io/badge/Leave%20Feedback-555555?style=flat)](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-feedback&utm_term=apache%2Fsuperset&message_id=0f56d0a9-2114-49a6-8338-cdb19fd97f86) [![Learn about superset with Dosu](https://img.shields.io/badge/Learn%20about%20superset%20with%20Dosu-2f7b3f?style=flat&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iODYiIGhlaWdodD0iODkiIHZpZXdCb3g9IjAgMCA4NiA4OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNS4yOTIzNiAxMi43OTI4TDE3Ljc1OTMgNi42ODE4OFY3Mi41NjY3TDUuMjkyMzYgODQuMDYxOFYxMi43OTI4WiIgZmlsbD0iI0I0QkI5MSIvPjxwYXRoIGQ9Ik0xOC4yNTc1IDczLjExOTZMNTkuMTMyOSA3Mi43NDhMNTEuNzAxMSA4Mi40MDk1TDI5LjAzMzggODYuMjkxTDYuMjM5NjIgODUuMTU1NEwxOC4yNTc1IDczLjExOTZaIiBmaWxsPSIjNzc4NTYxIi8%2BPHBhdGggZD0iTTE3LjQ5MTYgMy43MzYzM0wzLjU4NTU3IDEyLjcwOTlWODMuNTc5MkMzLjU4NTU3IDg0Ljc1NDIgNC4
 5ODU2MyA4NS4zNjUyIDUuODQ3MDUgODQuNTY2TDE5LjYyOTYgNzEuNzgwMSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI2LjQyODQ0IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48bWFzayBpZD0iZG9zdS1kLWN1dG91dCIgZmlsbD0id2hpdGUiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDAuNzA0IDAuNTE4MDY2SDE3LjA0MzlWNzYuMjIyMUg0MC43MDRINDIuNTgwNUg0Ny44MDEzQzY4LjcwNjQgNzYuMjIyMSA4NS42NTMzIDU5LjI3NTIgODUuNjUzMyAzOC4zNzAxQzg1LjY1MzMgMTcuNDY1IDY4LjcwNjMgMC41MTgwNjYgNDcuODAxMyAwLjUxODA2Nkg0Mi41ODA1SDQwLjcwNFoiLz48L21hc2s%2BPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MC43MDQgMC41MTgwNjZIMTcuMDQzOVY3Ni4yMjIxSDQwLjcwNEg0Mi41ODA1SDQ3LjgwMTNDNjguNzA2NCA3Ni4yMjIxIDg1LjY1MzMgNTkuMjc1MiA4NS42NTMzIDM4LjM3MDFDODUuNjUzMyAxNy40NjUgNjguNzA2MyAwLjUxODA2NiA0Ny44MDEzIDAuNTE4MDY2SDQyLjU4MDVINDAuNzA0WiIgZmlsbD0iI0YzRjZGMSIvPjxwYXRoIGQ9Ik0xNy4wNDM5IDAuNTE4MDY2Vi02LjU3OTE5SDkuOTQ2NjlWMC41MTgwNjZIMTcuMDQzOVpNMTcuMDQzOSA3Ni4yMjIxSDkuOTQ2NjlWODMuMzE5NEgxNy4wNDM5Vjc2LjIyMjFaTTE3LjA0MzkgNy42MTUzMkg0MC43MDRWLTYuNT
 c5MTlIMTcuMDQzOVY3LjYxNTMyWk0yNC4xNDEyIDc2LjIyMjFWMC41MTgwNjZIOS45NDY2OVY3Ni4yMjIxSDI0LjE0MTJaTTQwLjcwNCA2OS4xMjQ5SDE3LjA0MzlWODMuMzE5NEg0MC43MDRWNjkuMTI0OVpNNDIuNTgwNSA2OS4xMjQ5SDQwLjcwNFY4My4zMTk0SDQyLjU4MDVWNjkuMTI0OVpNNDcuODAxMyA2OS4xMjQ5SDQyLjU4MDVWODMuMzE5NEg0Ny44MDEzVjY5LjEyNDlaTTc4LjU1NiAzOC4zNzAxQzc4LjU1NiA1NS4zNTU1IDY0Ljc4NjcgNjkuMTI0OSA0Ny44MDEzIDY5LjEyNDlWODMuMzE5NEM3Mi42MjYxIDgzLjMxOTQgOTIuNzUwNSA2My4xOTQ5IDkyLjc1MDUgMzguMzcwMUg3OC41NTZaTTQ3LjgwMTMgNy42MTUzMkM2NC43ODY2IDcuNjE1MzIgNzguNTU2IDIxLjM4NDcgNzguNTU2IDM4LjM3MDFIOTIuNzUwNUM5Mi43NTA1IDEzLjU0NTMgNzIuNjI2IC02LjU3OTE5IDQ3LjgwMTMgLTYuNTc5MTlWNy42MTUzMlpNNDIuNTgwNSA3LjYxNTMySDQ3LjgwMTNWLTYuNTc5MTlINDIuNTgwNVY3LjYxNTMyWk00MC43MDQgNy42MTUzMkg0Mi41ODA1Vi02LjU3OTE5SDQwLjcwNFY3LjYxNTMyWiIgZmlsbD0iYmxhY2siIG1hc2s9InVybCgjZG9zdS1kLWN1dG91dCkiLz48cGF0aCBkPSJNNjguOTIxNSAzNi4wMTM1QzY4LjkyMTUgMzYuMDEzNSA2NS43MzY5IDQ5LjQ3MzggNTEuNDIzMSA0OS40NzM4QzM3LjEwOTMgNDkuNDczOCAzMi41Nzg3IDM3LjM1OTYgMzIuNTc4NyAzNi4wMTM1IiBzdHJva2U9ImJsYWNrIiB
 zdHJva2Utd2lkdGg9IjcuNjkxNjEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0wLjM0ODYzMyA4NS40OTQ2QzAuMzQ4NjMzIDg1LjQ5NDYgMjkuNDg1NiA4NS44MzA5IDM0LjgwOSA4NS42OThDNDQuODMzNyA4NS40NDc3IDUxLjI4NzIgODQuNDAyIDU3LjUyNjkgNzguOTcyNEM2Mi44MTI5IDc0LjM3MjcgNzUuMTM0MiA1OS42ODM2IDc1LjEzNDIgNTkuNjgzNiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI2LjE2NDgyIi8%2BPC9zdmc%2B)](https://github.dosu.com/apache/superset?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-learn-repo&utm_term=apache%2Fsuperset) [![Add Dosu to your team](https://img.shields.io/badge/Add%20Dosu%20to%20your%20team-1f6feb?style=flat)](https://app.dosu.dev/signup?referrer=openSource&source=github-footer&utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-add-team&utm_term=apache%2Fsuperset)

GitHub link: https://github.com/apache/superset/discussions/33944#discussioncomment-13592795

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] Slow dashboard loading even after caching [superset]

Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] added a comment to the discussion: Slow dashboard loading even after caching

<!-- Answer -->
A dashboard with a single chart will always load faster in the UI than a dashboard with multiple charts, even if caching is enabled. Superset makes a separate API request for each chart in a dashboard, and browsers typically limit the number of concurrent requests (usually 6 per host). So, if you have many charts in one dashboard, some requests will be queued, and the dashboard will only finish loading when the slowest chart finishes. With one chart per dashboard, each page only loads one chart, so it appears instantly (assuming cache hits) and avoids browser throttling or UI delays from waiting on other charts. There’s no batching or optimization at the dashboard level—each chart is fetched and rendered independently, regardless of caching or dashboard structure ([source](https://github.com/apache/superset/blob/8ee5505b61d93bd6a65ad545b9e00ef6d54e31b8/superset-frontend/src/dashboard/components/Dashboard.jsx)).

If you want the fastest possible load for each chart, use separate dashboards. If you want interactivity and context between charts, use a multi-chart dashboard, but expect slower overall load times as the number of charts increases ([source](https://github.com/apache/superset/discussions/32343)).


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot).*

---
<sup>How did I do? [Good](https://app.dosu.dev/response-feedback/ee1b8453-8bcf-42f8-a1f5-7cb5cb3ed65b?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/ee1b8453-8bcf-42f8-a1f5-7cb5cb3ed65b?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/ee1b8453-8bcf-42f8-a1f5-7cb5cb3ed65b?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/ee1b8453-8bcf-42f8-a1f5-7cb5cb3ed65b?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/ee1b8453-8bcf-42f8-a1f5-7cb5cb3ed65b?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/ee1b8453-8bcf-42f8-a1f5-7cb5cb3ed65b?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/ee1b8453-8bcf-42f8-a1f5-7cb5cb3ed65b?feedback_type=other)</sup>&nbsp;&nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Sh
 are on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/33944)

GitHub link: https://github.com/apache/superset/discussions/33944#discussioncomment-13592964

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] Slow dashboard loading even after caching [superset]

Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] edited a comment on the discussion: Slow dashboard loading even after caching

<!-- Answer -->
A dashboard with a single chart will always load faster in the UI than a dashboard with multiple charts, even if caching is enabled. Superset makes a separate API request for each chart in a dashboard, and browsers typically limit the number of concurrent requests (usually 6 per host). So, if you have many charts in one dashboard, some requests will be queued, and the dashboard will only finish loading when the slowest chart finishes. With one chart per dashboard, each page only loads one chart, so it appears instantly (assuming cache hits) and avoids browser throttling or UI delays from waiting on other charts. There’s no batching or optimization at the dashboard level—each chart is fetched and rendered independently, regardless of caching or dashboard structure ([source](https://github.com/apache/superset/blob/8ee5505b61d93bd6a65ad545b9e00ef6d54e31b8/superset-frontend/src/dashboard/components/Dashboard.jsx)).

If you want the fastest possible load for each chart, use separate dashboards. If you want interactivity and context between charts, use a multi-chart dashboard, but expect slower overall load times as the number of charts increases ([source](https://github.com/apache/superset/discussions/32343)).


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=reply-with-mention&utm_term=apache%2Fsuperset).*

---

Docs are dead. Just use [Dosu](https://dosu.dev?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-tagline&utm_term=apache%2Fsuperset).

[![Leave Feedback](https://img.shields.io/badge/Leave%20Feedback-555555?style=flat)](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-feedback&utm_term=apache%2Fsuperset&message_id=ee1b8453-8bcf-42f8-a1f5-7cb5cb3ed65b) [![Ask Dosu about superset](https://img.shields.io/badge/Ask%20Dosu%20about%20superset-2f7b3f?style=flat&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iODYiIGhlaWdodD0iODkiIHZpZXdCb3g9IjAgMCA4NiA4OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNS4yOTIzNiAxMi43OTI4TDE3Ljc1OTMgNi42ODE4OFY3Mi41NjY3TDUuMjkyMzYgODQuMDYxOFYxMi43OTI4WiIgZmlsbD0iI0I0QkI5MSIvPjxwYXRoIGQ9Ik0xOC4yNTc1IDczLjExOTZMNTkuMTMyOSA3Mi43NDhMNTEuNzAxMSA4Mi40MDk1TDI5LjAzMzggODYuMjkxTDYuMjM5NjIgODUuMTU1NEwxOC4yNTc1IDczLjExOTZaIiBmaWxsPSIjNzc4NTYxIi8%2BPHBhdGggZD0iTTE3LjQ5MTYgMy43MzYzM0wzLjU4NTU3IDEyLjcwOTlWODMuNTc5MkMzLjU4NTU3IDg0Ljc1NDIgNC45ODU2MyA4NS4zNjUyIDUuODQ3MDUg
 ODQuNTY2TDE5LjYyOTYgNzEuNzgwMSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI2LjQyODQ0IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48bWFzayBpZD0iZG9zdS1kLWN1dG91dCIgZmlsbD0id2hpdGUiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDAuNzA0IDAuNTE4MDY2SDE3LjA0MzlWNzYuMjIyMUg0MC43MDRINDIuNTgwNUg0Ny44MDEzQzY4LjcwNjQgNzYuMjIyMSA4NS42NTMzIDU5LjI3NTIgODUuNjUzMyAzOC4zNzAxQzg1LjY1MzMgMTcuNDY1IDY4LjcwNjMgMC41MTgwNjYgNDcuODAxMyAwLjUxODA2Nkg0Mi41ODA1SDQwLjcwNFoiLz48L21hc2s%2BPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MC43MDQgMC41MTgwNjZIMTcuMDQzOVY3Ni4yMjIxSDQwLjcwNEg0Mi41ODA1SDQ3LjgwMTNDNjguNzA2NCA3Ni4yMjIxIDg1LjY1MzMgNTkuMjc1MiA4NS42NTMzIDM4LjM3MDFDODUuNjUzMyAxNy40NjUgNjguNzA2MyAwLjUxODA2NiA0Ny44MDEzIDAuNTE4MDY2SDQyLjU4MDVINDAuNzA0WiIgZmlsbD0iI0YzRjZGMSIvPjxwYXRoIGQ9Ik0xNy4wNDM5IDAuNTE4MDY2Vi02LjU3OTE5SDkuOTQ2NjlWMC41MTgwNjZIMTcuMDQzOVpNMTcuMDQzOSA3Ni4yMjIxSDkuOTQ2NjlWODMuMzE5NEgxNy4wNDM5Vjc2LjIyMjFaTTE3LjA0MzkgNy42MTUzMkg0MC43MDRWLTYuNTc5MTlIMTcuMDQzOVY3LjYxNTMyWk0
 yNC4xNDEyIDc2LjIyMjFWMC41MTgwNjZIOS45NDY2OVY3Ni4yMjIxSDI0LjE0MTJaTTQwLjcwNCA2OS4xMjQ5SDE3LjA0MzlWODMuMzE5NEg0MC43MDRWNjkuMTI0OVpNNDIuNTgwNSA2OS4xMjQ5SDQwLjcwNFY4My4zMTk0SDQyLjU4MDVWNjkuMTI0OVpNNDcuODAxMyA2OS4xMjQ5SDQyLjU4MDVWODMuMzE5NEg0Ny44MDEzVjY5LjEyNDlaTTc4LjU1NiAzOC4zNzAxQzc4LjU1NiA1NS4zNTU1IDY0Ljc4NjcgNjkuMTI0OSA0Ny44MDEzIDY5LjEyNDlWODMuMzE5NEM3Mi42MjYxIDgzLjMxOTQgOTIuNzUwNSA2My4xOTQ5IDkyLjc1MDUgMzguMzcwMUg3OC41NTZaTTQ3LjgwMTMgNy42MTUzMkM2NC43ODY2IDcuNjE1MzIgNzguNTU2IDIxLjM4NDcgNzguNTU2IDM4LjM3MDFIOTIuNzUwNUM5Mi43NTA1IDEzLjU0NTMgNzIuNjI2IC02LjU3OTE5IDQ3LjgwMTMgLTYuNTc5MTlWNy42MTUzMlpNNDIuNTgwNSA3LjYxNTMySDQ3LjgwMTNWLTYuNTc5MTlINDIuNTgwNVY3LjYxNTMyWk00MC43MDQgNy42MTUzMkg0Mi41ODA1Vi02LjU3OTE5SDQwLjcwNFY3LjYxNTMyWiIgZmlsbD0iYmxhY2siIG1hc2s9InVybCgjZG9zdS1kLWN1dG91dCkiLz48cGF0aCBkPSJNNjguOTIxNSAzNi4wMTM1QzY4LjkyMTUgMzYuMDEzNSA2NS43MzY5IDQ5LjQ3MzggNTEuNDIzMSA0OS40NzM4QzM3LjEwOTMgNDkuNDczOCAzMi41Nzg3IDM3LjM1OTYgMzIuNTc4NyAzNi4wMTM1IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjcuNjkxNjEi
 IHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0wLjM0ODYzMyA4NS40OTQ2QzAuMzQ4NjMzIDg1LjQ5NDYgMjkuNDg1NiA4NS44MzA5IDM0LjgwOSA4NS42OThDNDQuODMzNyA4NS40NDc3IDUxLjI4NzIgODQuNDAyIDU3LjUyNjkgNzguOTcyNEM2Mi44MTI5IDc0LjM3MjcgNzUuMTM0MiA1OS42ODM2IDc1LjEzNDIgNTkuNjgzNiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI2LjE2NDgyIi8%2BPC9zdmc%2B)](https://github.dosu.com/apache/superset?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-ask-repo&utm_term=apache%2Fsuperset) [![Share Dosu with your team](https://img.shields.io/badge/Share%20Dosu%20with%20your%20team-1f6feb?style=flat)](https://app.dosu.dev/signup?referrer=openSource&source=github-footer&utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-share-team&utm_term=apache%2Fsuperset)

GitHub link: https://github.com/apache/superset/discussions/33944#discussioncomment-13592964

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] Slow dashboard loading even after caching [superset]

Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] added a comment to the discussion: Slow dashboard loading even after caching

<!-- Answer -->
The main reason your dashboards are still slow, even with Redis caching, is that Superset caches each chart’s data individually, and the cache key depends on things like filter values, user context, and query parameters. If any of these change (for example, different users, filters, or a force-refresh), Superset will bypass the cache and hit the database again. This is why you see “waiting for database” in the UI—the backend is actually waiting for the database to respond, not Redis. There’s no global dashboard cache, so if your dashboard has many charts or high user concurrency, the database can quickly become a bottleneck, even if Redis is working as expected ([source](https://github.com/apache/superset/discussions/32343)).

To improve performance, focus on optimizing your database (indexes, materialized views, etc.), reducing the number of charts per dashboard, and minimizing filter variability. Also, check if you have GLOBAL_ASYNC_QUERIES enabled—if so, try disabling it or make sure your embedded dashboards and Superset are served from the same domain, as async query settings can cause slow loads or errors in embedded scenarios ([source](https://github.com/apache/superset/issues/33561)).

You can diagnose cache effectiveness by enabling debug logs in Superset, monitoring Redis for cache hit/miss rates, and watching for force-refreshes or dynamic filters that might cause cache fragmentation. Remember, the filter state cache only stores UI filter values and does not cache query results or reduce database hits.

Recent Superset versions have also improved cache key handling for Jinja templates, which can affect cache hit rates if you use user-based or dynamic SQL in your charts ([source](https://github.com/apache/superset/pull/30549)). If you need more specific guidance on logging or measuring cache effectiveness, let me know your Superset version and setup details!


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot).*

---
<sup>How did I do? [Good](https://app.dosu.dev/response-feedback/ae734900-f3ff-4e62-8d47-8651ea30e667?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/ae734900-f3ff-4e62-8d47-8651ea30e667?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/ae734900-f3ff-4e62-8d47-8651ea30e667?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/ae734900-f3ff-4e62-8d47-8651ea30e667?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/ae734900-f3ff-4e62-8d47-8651ea30e667?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/ae734900-f3ff-4e62-8d47-8651ea30e667?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/ae734900-f3ff-4e62-8d47-8651ea30e667?feedback_type=other)</sup>&nbsp;&nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Sh
 are on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/33944)

GitHub link: https://github.com/apache/superset/discussions/33944#discussioncomment-13592705

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] Slow dashboard loading even after caching [superset]

Posted by "Nimishbansal-16 (via GitHub)" <gi...@apache.org>.
GitHub user Nimishbansal-16 added a comment to the discussion: Slow dashboard loading even after caching

@dosu Yes, I need help with guidance on logging and caching effectiveness. I don't have async querying enabled.
In my ui for each user a guest token is generated, using which request is made, does that mean here cache is not used? But in my Redis I can see that request is being made to fetch some details :
1750993450.981481 [2 10.225.0.25:39256] "MGET" "superset_cache_test_superset.views.base.cached_common_bootstrap_data_memver"
1750993450.982210 [2 10.225.0.25:39256] "SETEX" "superset_cache_test_superset.views.base.cached_common_bootstrap_data_memver" "60" "!\x80\x05\x95\n\x00\x00\x00\x00\x00\x00\x00\x8c\x06jBlO/V\x94."
1750993450.982670 [2 10.225.0.25:39256] "GET" "superset_cache_test_vRRVrGtOe/jKm7nwjBlO/V"
1750993451.005544 [2 10.225.0.25:39256] "SETEX" "superset_cache_test_vRRVrGtOe/jKm7nwjBlO/V" "60" "!\x80\x05\x95\xff\x0e\x00\x00\x00\x00\x00\x00}\x94(\x8c\x04conf\x94}\x94(\x8c\x1aSUPERSET_WEBSERVER_TIMEOUT\x94M,\x01\x

Also is there anyway to cache dashboard globally instead of for each user

Superset version: 5.0.0

GitHub link: https://github.com/apache/superset/discussions/33944#discussioncomment-13592747

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [D] Slow dashboard loading even after caching [superset]

Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
GitHub user dosubot[bot] edited a comment on the discussion: Slow dashboard loading even after caching

<!-- Answer -->
To check if a chart was served from cache, look for log lines like loading_from_cache, loaded_from_cache, and Serving from cache for each /api/v1/chart/data request. These confirm that the chart data came from cache and not the database. In your logs, both charts show these lines, so they were fully fetched from cache.

Superset does not provide a single log entry or summary for the whole dashboard—you need to check each chart’s logs individually. If you’re using the API, the is_cached field in the chart data response also tells you if the data was served from cache.

If you see loaded_from_source or similar lines instead, that means the chart was not served from cache and hit the database instead. Force refreshes or cache invalidation can also cause cache misses even if cache is enabled. 

There’s no built-in way to cache or check the cache status for an entire dashboard at once—cache is always managed per chart.


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=reply-with-mention&utm_term=apache%2Fsuperset).*

---

Docs are dead. Just use [Dosu](https://dosu.dev?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-tagline&utm_term=apache%2Fsuperset).

[![Leave Feedback](https://img.shields.io/badge/Leave%20Feedback-555555?style=flat)](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-feedback&utm_term=apache%2Fsuperset&message_id=f4b5801e-2a67-4da7-a2f5-976e8360a211) [![Ask Dosu about superset](https://img.shields.io/badge/Ask%20Dosu%20about%20superset-2f7b3f?style=flat&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iODYiIGhlaWdodD0iODkiIHZpZXdCb3g9IjAgMCA4NiA4OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNS4yOTIzNiAxMi43OTI4TDE3Ljc1OTMgNi42ODE4OFY3Mi41NjY3TDUuMjkyMzYgODQuMDYxOFYxMi43OTI4WiIgZmlsbD0iI0I0QkI5MSIvPjxwYXRoIGQ9Ik0xOC4yNTc1IDczLjExOTZMNTkuMTMyOSA3Mi43NDhMNTEuNzAxMSA4Mi40MDk1TDI5LjAzMzggODYuMjkxTDYuMjM5NjIgODUuMTU1NEwxOC4yNTc1IDczLjExOTZaIiBmaWxsPSIjNzc4NTYxIi8%2BPHBhdGggZD0iTTE3LjQ5MTYgMy43MzYzM0wzLjU4NTU3IDEyLjcwOTlWODMuNTc5MkMzLjU4NTU3IDg0Ljc1NDIgNC45ODU2MyA4NS4zNjUyIDUuODQ3MDUg
 ODQuNTY2TDE5LjYyOTYgNzEuNzgwMSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI2LjQyODQ0IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48bWFzayBpZD0iZG9zdS1kLWN1dG91dCIgZmlsbD0id2hpdGUiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDAuNzA0IDAuNTE4MDY2SDE3LjA0MzlWNzYuMjIyMUg0MC43MDRINDIuNTgwNUg0Ny44MDEzQzY4LjcwNjQgNzYuMjIyMSA4NS42NTMzIDU5LjI3NTIgODUuNjUzMyAzOC4zNzAxQzg1LjY1MzMgMTcuNDY1IDY4LjcwNjMgMC41MTgwNjYgNDcuODAxMyAwLjUxODA2Nkg0Mi41ODA1SDQwLjcwNFoiLz48L21hc2s%2BPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MC43MDQgMC41MTgwNjZIMTcuMDQzOVY3Ni4yMjIxSDQwLjcwNEg0Mi41ODA1SDQ3LjgwMTNDNjguNzA2NCA3Ni4yMjIxIDg1LjY1MzMgNTkuMjc1MiA4NS42NTMzIDM4LjM3MDFDODUuNjUzMyAxNy40NjUgNjguNzA2MyAwLjUxODA2NiA0Ny44MDEzIDAuNTE4MDY2SDQyLjU4MDVINDAuNzA0WiIgZmlsbD0iI0YzRjZGMSIvPjxwYXRoIGQ9Ik0xNy4wNDM5IDAuNTE4MDY2Vi02LjU3OTE5SDkuOTQ2NjlWMC41MTgwNjZIMTcuMDQzOVpNMTcuMDQzOSA3Ni4yMjIxSDkuOTQ2NjlWODMuMzE5NEgxNy4wNDM5Vjc2LjIyMjFaTTE3LjA0MzkgNy42MTUzMkg0MC43MDRWLTYuNTc5MTlIMTcuMDQzOVY3LjYxNTMyWk0
 yNC4xNDEyIDc2LjIyMjFWMC41MTgwNjZIOS45NDY2OVY3Ni4yMjIxSDI0LjE0MTJaTTQwLjcwNCA2OS4xMjQ5SDE3LjA0MzlWODMuMzE5NEg0MC43MDRWNjkuMTI0OVpNNDIuNTgwNSA2OS4xMjQ5SDQwLjcwNFY4My4zMTk0SDQyLjU4MDVWNjkuMTI0OVpNNDcuODAxMyA2OS4xMjQ5SDQyLjU4MDVWODMuMzE5NEg0Ny44MDEzVjY5LjEyNDlaTTc4LjU1NiAzOC4zNzAxQzc4LjU1NiA1NS4zNTU1IDY0Ljc4NjcgNjkuMTI0OSA0Ny44MDEzIDY5LjEyNDlWODMuMzE5NEM3Mi42MjYxIDgzLjMxOTQgOTIuNzUwNSA2My4xOTQ5IDkyLjc1MDUgMzguMzcwMUg3OC41NTZaTTQ3LjgwMTMgNy42MTUzMkM2NC43ODY2IDcuNjE1MzIgNzguNTU2IDIxLjM4NDcgNzguNTU2IDM4LjM3MDFIOTIuNzUwNUM5Mi43NTA1IDEzLjU0NTMgNzIuNjI2IC02LjU3OTE5IDQ3LjgwMTMgLTYuNTc5MTlWNy42MTUzMlpNNDIuNTgwNSA3LjYxNTMySDQ3LjgwMTNWLTYuNTc5MTlINDIuNTgwNVY3LjYxNTMyWk00MC43MDQgNy42MTUzMkg0Mi41ODA1Vi02LjU3OTE5SDQwLjcwNFY3LjYxNTMyWiIgZmlsbD0iYmxhY2siIG1hc2s9InVybCgjZG9zdS1kLWN1dG91dCkiLz48cGF0aCBkPSJNNjguOTIxNSAzNi4wMTM1QzY4LjkyMTUgMzYuMDEzNSA2NS43MzY5IDQ5LjQ3MzggNTEuNDIzMSA0OS40NzM4QzM3LjEwOTMgNDkuNDczOCAzMi41Nzg3IDM3LjM1OTYgMzIuNTc4NyAzNi4wMTM1IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjcuNjkxNjEi
 IHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0wLjM0ODYzMyA4NS40OTQ2QzAuMzQ4NjMzIDg1LjQ5NDYgMjkuNDg1NiA4NS44MzA5IDM0LjgwOSA4NS42OThDNDQuODMzNyA4NS40NDc3IDUxLjI4NzIgODQuNDAyIDU3LjUyNjkgNzguOTcyNEM2Mi44MTI5IDc0LjM3MjcgNzUuMTM0MiA1OS42ODM2IDc1LjEzNDIgNTkuNjgzNiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI2LjE2NDgyIi8%2BPC9zdmc%2B)](https://github.dosu.com/apache/superset?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-ask-repo&utm_term=apache%2Fsuperset) [![Share Dosu with your team](https://img.shields.io/badge/Share%20Dosu%20with%20your%20team-1f6feb?style=flat)](https://app.dosu.dev/signup?referrer=openSource&source=github-footer&utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=static-docs-share-team&utm_term=apache%2Fsuperset)

GitHub link: https://github.com/apache/superset/discussions/33944#discussioncomment-13592897

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: notifications-unsubscribe@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org