Grafana Dashboard Load Calculator
Estimate the query load a Grafana dashboard places on its data source from panel count, refresh interval and query duration.
Inputs
Number of panels on the dashboard, each issuing at least one query.
Dashboard auto-refresh interval.
Average time the data source takes to answer one panel's query.
How many people/browser tabs have this dashboard open simultaneously (each polls independently unless caching is used).
Total Query Rate
4.00queries/sec
Concurrent Query Load on Data Source
1.00
Estimated Data Source Memory Impact
2.0MB
Step by step
Queries per refresh cycle
24 panels
= 24 queries
Queries/sec per viewer: panels ÷ refresh interval
24 ÷ 30s
= 0.800/s
Total queries/sec across viewers
0.800 × 5
= 4.00/s
Concurrent query load: rate × avg duration
4.00 × 0.250s
= 1.00 concurrent queries
How it works
Each panel issues its own query on every auto-refresh tick: queries per viewer per second = panels / refresh_interval. Multiple concurrent viewers multiply that rate directly since each browser session refreshes independently by default. Concurrent query load (rate × average query duration) approximates how many queries are in flight on the data source at any instant — this is the number that actually determines datasource CPU/memory pressure, not the raw query rate alone.
Formula
load_time_sec = panels × avg_query_time_sec × (1 + concurrent_users × contention_factor)
- panels
- Number of panels on the dashboard
- avg_query_time_sec
- Average query execution time per panel (seconds)
- concurrent_users
- Users loading the dashboard simultaneously
- contention_factor
- Backend contention multiplier per additional user
Frequently Asked Questions
Does Grafana cache query results across viewers?
Not by default for live dashboards — each browser session independently issues its own queries on refresh. Grafana Enterprise/Cloud query caching, or a caching proxy in front of the data source, can substantially cut this load for popular dashboards.
How much does a shorter refresh interval cost?
Query rate is inversely proportional to refresh interval, so halving the interval doubles the query rate — for dashboards with many viewers, this compounds quickly and is often the first thing worth increasing when a data source is under load.
Should every panel really run its own query?
Not necessarily — panels querying the same underlying series with different visualizations can sometimes share a single query via Grafana's mixed data sources or query result transformations, cutting effective panel-to-query ratio below 1:1.
What's a safe refresh interval for a busy dashboard?
For dashboards viewed by many people simultaneously, 30-60 seconds is a common balance; sub-10-second refresh is usually reserved for small, single-viewer, incident-response dashboards where up-to-the-second data matters more than aggregate load.