At a glance
Active Readers is the count of clients currently performing read operations on the MongoDB instance, read straight fromglobalLock.activeClients.readersin theserverStatusoutput. It is a real-time gauge of read concurrency: how many connections are actively holding or waiting on the read side of the global lock at the instant the sample is taken. A steady low number is normal; a sudden climb means read demand has spiked or reads are queuing behind a slow operation.
| What it tracks | The instantaneous number of active read clients on the instance, taken from globalLock.activeClients.readers in db.serverStatus(). |
| Data source | MongoDB serverStatus command, globalLock.activeClients.readers field, polled in real time. |
| Time window | RT (real-time snapshot, refreshed on the live poll). |
| Alert trigger | None. This is a diagnostic capacity signal, not an alerting card. |
| Roles | DBA, platform, SRE |
What it tracks
Active Readers reports the value ofglobalLock.activeClients.readers at sample time. MongoDB tracks, for each instance, how many client connections are actively engaged on the read side of the global lock subsystem. This is a concurrency reading, not a throughput reading: it tells you how many reads are in flight right now, not how many completed over a window. Read it next to Active Writers style capacity peers and Operations per Second (live). A persistently high reader count alongside rising Query Latency p95 (ms) usually means reads are backing up behind a long-running query or a cache miss storm, rather than healthy parallelism. Because the value is a single-moment snapshot, expect it to flicker between polls on a busy instance; trends matter more than any one reading.
Reconciling against the source
To confirm the live figure, rundb.serverStatus().globalLock.activeClients.readers in mongosh against the same node, or watch the qr (queued reads) and ar (active reads) columns in mongostat. On MongoDB Atlas, the same signal surfaces under the Metrics tab as the active reader count in the global lock charts. Small differences between our reading and a manual run are expected: both are point-in-time samples taken at slightly different instants.