Prompt
Why is Redshift running out of concurrency for dashboards?
Latest observation
Redshift usually “runs out of concurrency” for dashboards because lots of dashboard users are firing queries at the same time, and those queries are competing for a limited set of execution slots or queue capacity.
Common reasons:
-
Too many simultaneous BI queries
Dashboards often refresh on load, auto-refresh, or when many users open them at once. Even if each query is short, many overlapping queries can exhaust available concurrency. -
Long-running or expensive queries
A few slow dashboard queries can occupy slots for a long time, causing later queries to queue up. -
Poorly optimized SQL
Missing sort/dist keys, large joins, filters not pushed down, or scanning too much data can make each dashboard query slower and increase contention. -
No workload isolation
If dashboard queries share the same queue / WLM configuration with ETL, ad hoc analysts, or other heavy workloads, they can block each other. -
Concurrency scaling / WLM misconfiguration
If WLM queues have too few slots, or concurrency scaling isn’t enabled or isn’t helping for the workload pattern, you’ll see queueing. -
Connection/query bursts from the BI tool
Some BI tools generate multiple queries per dashboard panel, metadata lookup, and refreshes, multiplying load. -
Small cluster or wrong node type
Not enough compute or memory means queries take longer, which reduces effective concurrency.
What to check:
- Query queue time and execution time in Redshift system tables / Query Monitoring Rules
- Top dashboard queries by runtime and scanned rows
- Whether BI traffic is mixed with ETL
- WLM queue slot counts and query priorities
- Whether dashboards are refreshing too often
Typical fixes:
- Optimize the slowest dashboard queries
- Separate BI/dashboard traffic into its own WLM queue
- Enable or tune concurrency scaling
- Add result caching / dashboard caching where possible
- Reduce dashboard refresh frequency
- Pre-aggregate or use materialized views
- Scale the cluster if the workload is genuinely too large
If you want, I can help you diagnose this from a few Redshift metrics or a sample dashboard query.