Skip to content
Calcrivo

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

panels

Number of panels on the dashboard, each issuing at least one query.

seconds

Dashboard auto-refresh interval.

ms

Average time the data source takes to answer one panel's query.

viewers

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

  1. Queries per refresh cycle

    24 panels

    = 24 queries

  2. Queries/sec per viewer: panels ÷ refresh interval

    24 ÷ 30s

    = 0.800/s

  3. Total queries/sec across viewers

    0.800 × 5

    = 4.00/s

  4. 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.

You might also need