When requests arrive faster than they’re processed and pile up in the queue, the ones at the back get processed only seconds later or are dropped.
Why Requests arrive faster than they can be processed → Effect The queue grows, and messages are dropped once it passes its limit → On screen Skills and trades respond late or are dropped
Monitor queue length, adopt a policy that drops the oldest requests first, parallelize processing.
On the graph
Hits a ceiling · Queue length and age of the oldest message, messages processed per second
Where to look
Per-queue length, age of the oldest message, and messages received, processed, and dropped per second, as logged by the server. Without code metrics, the Recv-Q of the game socket from ss (or netstat): data the kernel has received but the process hasn’t read yet
Confirmed if
While arrivals exceed processing, the processing rate stays flat at one value, and queue length, message age, and drops keep growing
Ruled out if
Queue short and messages young, yet responses are slow: points to connection latency or delay in the tick itself
Avoiding insurmountable queue backlogsAWS Amazon Builders’ Library. Monitor backlog by the age of waiting messages; real-time systems process the newest data first (closer to LIFO) and may drop old messages