At a glance
Statements per Second (live) is the cluster-wide SQL throughput: how many statements (SELECT, INSERT, UPDATE, DELETE, plus DDL and transaction control) CockroachDB is executing each second right now. It is the database’s heartbeat. Read on its own it tells you how hard the cluster is working; read against a baseline it tells you whether traffic is normal, surging, or has fallen off a cliff. A sudden drop to near zero usually means something upstream stopped sending work (an application outage, a network break); a sudden spike usually means a traffic event or a runaway loop. This card has no alert of its own because “high” and “low” are both context-dependent; it is the reference signal you read every other card against.
Calculation
The card reads the cumulative executed-statement counter (sql.query.count) and differentiates it into a per-second rate, summed across all nodes to give a single cluster figure. It counts statements of every kind: reads, writes, DDL, and transaction-control statements (BEGIN, COMMIT, ROLLBACK). Because it is a rate over a short live interval, it responds to load changes within the poll interval, which is what makes it useful as a heartbeat.
A few nuances shape how to read it. First, retries inflate the count: CockroachDB transparently retries some transactions under contention, and each retry is another statement execution, so a contention storm can raise the rate without any extra real work being done (cross-reference Transaction Retries (24h) to separate genuine load from retry churn). Second, the number is statements, not transactions: one transaction can contain many statements, so this is not an order count or a business-event count. Third, it is the gross cluster rate, not per-node, so an uneven distribution is invisible here and must be read from the per-node SQL view. The value of the card is direction and magnitude against your own baseline, not an absolute target.
Worked example
A platform team runs a 6-node CockroachDB cluster backing the storefront, order, and inventory services. Their normal weekday daytime baseline is roughly 4,000 statements/sec, rising to about 9,000 during evening peak. Three readings, taken across 11 Jun 26:
The 20:30 spike. Throughput is double the usual evening peak. The DBA’s job is to find the driver, not to panic, a spike can be good (a successful marketing push) or bad (a runaway job or retry storm). They check CRDB Statements Spike vs Ecom Order Rate: order rate has risen proportionally, so this is real customer traffic, not a loop. They then watch capacity, Connection Pool Saturation % and Memory Usage %, to confirm the cluster has headroom for the surge. It does; the spike is healthy revenue and nothing needs doing except watching.
The 21:05 collapse. Twenty-five minutes later throughput falls to 120/sec, near zero. This is the more alarming reading precisely because it is silent: the database is not erroring, it is simply receiving almost no work.
- A drop is often scarier than a spike. A spike with proportional order growth is revenue; a collapse to near zero means work has stopped arriving, which is almost always an upstream outage the database surfaces first.
- Always read a spike against orders. Throughput up with orders up is healthy load; throughput up with orders flat is a retry storm or a runaway job, very different remediation.
- There is no “good” absolute number. 18,000/sec is wonderful for one cluster and a sign of trouble for another. Read it against your own baseline and the paired cards, never against a fixed threshold.
Sibling cards
Reconciling against the source
To confirm the figure natively, open the DB Console SQL dashboard and read the Statements (queries per second) chart, or querycrdb_internal.node_metrics for sql.query.count and differentiate it yourself. The DB Console SQL Activity → Statements page also breaks throughput down by statement fingerprint, useful for finding which query is driving a spike. On CockroachDB Cloud the QPS chart appears on the cluster Metrics page.
For divergence investigations use Vortex Mind to attribute a spike to a specific statement fingerprint or upstream service.