Kommen Anfragen schneller herein, als sie verarbeitet werden, stauen sie sich in der Warteschlange. Spätere Anfragen werden dann erst nach einigen Sekunden verarbeitet oder verworfen.
Warum Anfragen treffen schneller ein, als sie verarbeitet werden → Folge Warteschlange wird länger, über dem Limit wird verworfen → Auf dem Bildschirm Skills und Handel reagieren verzögert oder werden verschluckt
Länge der Warteschlange überwachen, Richtlinie zum bevorzugten Verwerfen alter Anfragen, Verarbeitung parallelisieren.
Im Graphen
Plateau am Limit · Queue-Länge und Alter der ältesten Nachricht, Verarbeitungen pro Sekunde
Wo nachsehen
Vom Server erfasste Länge pro Queue, Alter der ältesten Nachricht sowie eingegangene, verarbeitete und verworfene Nachrichten pro Sekunde prüfen. Ohne Metriken im Code mit ss (oder netstat) Recv-Q des Spiel-Sockets prüfen (vom Kernel empfangene, vom Prozess noch nicht gelesene Datenmenge)
Spricht dafür
Solange mehr eingeht als verarbeitet wird, stagniert die Verarbeitungsrate auf einem festen Wert, während Queue-Länge, Alter und verworfene Nachrichten stetig steigen
Spricht dagegen
Queue kurz und Nachrichten jung, Reaktion trotzdem verzögert: eher Latenz der Leitung oder Verzögerung des Ticks selbst
Prüfmittel
Logs oder Metriken aus Spielserver bzw. Client nötig
Avoiding insurmountable queue backlogsAWS Amazon Builders' Library. Rückstau über das Alter wartender Nachrichten überwachen, Echtzeitsysteme verarbeiten neue Daten zuerst (annähernd LIFO), alte Nachrichten werden teils verworfen