A queue can absorb a burst. It cannot turn unlimited demand into unlimited capacity. At some point, an application must decide what happens to work it cannot process promptly.
That decision is often described as backpressure, but the user experiences it as waiting, rejection, reduced functionality, or an unexplained spinner. The system design and the product behavior are the same decision viewed from different ends.
Count unfinished work
Request throughput alone can conceal a growing backlog. I would also inspect queue age, active jobs, processing time, and the rate at which work completes. A busy system can look healthy while every new request waits longer than the last.
The useful boundary is often a limit on unfinished work, not simply requests arriving per second. Long jobs occupy capacity differently from short ones. Separate workload classes may need separate queues or quotas.
Otherwise, a small number of expensive jobs can make an ordinary interactive request feel broken.
Choose a visible policy
For an illustrative analysis tool, the policy might be: admit work while the expected wait is acceptable, show a queue state when it is not immediate, and reject additional work once the queue reaches a defined limit.
The exact thresholds need measurement. The important part is that the application has a policy rather than an accidental timeout.
A rejection should say whether the user can retry, whether their input was retained, and whether any operation actually began. A queued request should have an identity and a cancellation path. The browser should not encourage repeated submissions that worsen the backlog.
Protect useful work
Fairness becomes important on a shared platform. One team's batch workload should not silently consume the capacity intended for another team's interactive use. Budgets, concurrency controls, and scheduling rules can make those boundaries explicit.
Load testing should therefore include mixed workloads, not only a stream of identical requests. The question is whether the system protects the behavior it promised to each class of user.
I want overload to be legible. A service that clearly says “not yet” can be more dependable than one that accepts everything and fails much later. Backpressure is where engineering decides which promises it can still keep under pressure.