Nach einer Weile Leerlauf verkleinert TCP das Congestion Window (die Menge, die auf einmal gesendet werden darf) wieder. Werden dann plötzlich große Datenmengen gesendet, gehen sie in mehreren Etappen hinaus.
Warum Über eine zuvor ruhende Verbindung werden große Datenmengen gesendet, etwa beim Betreten einer Stadt → Folge Congestion Window ist geschrumpft, die Übertragung verteilt sich auf mehrere Round Trips → Auf dem Bildschirm Direkt nach dem Betreten erscheinen Charaktere und NPCs in der Umgebung um einige Round Trips verspätet (je weiter weg der Server, desto auffälliger)
Daten beim Betreten reduzieren (Unverzichtbares zuerst senden).
Aufgaben Infrastrukturteam
tcp_slow_start_after_idle abschalten (Linux, gilt serverweit).
Größenordnungen
Bleibt eine Verbindung länger als ein RTO im Leerlauf, beginnt das Congestion Window zu schrumpfen. Nach langem Leerlauf fällt es auf etwa 14 KB (10 Pakete). 100 KB passen dann nicht mehr in einen Sendevorgang und brauchen 3 Round Trips.
Im Graphen
Nur einzelne Ausreißer · Übertragungszeit direkt nach dem Betreten (Spieler mit langer RTT)
Wo nachsehen
Wert von sysctl net.ipv4.tcp_slow_start_after_idle prüfen und im Moment des Betretens eines Gebiets nach Leerlauf in ss -ti der Verbindung kontrollieren, ob cwnd (Congestion Window) geschrumpft ist
Spricht dafür
Einstellung steht auf 1 (Standard), beim Betreten nach Leerlauf schrumpft cwnd auf etwa 10, die Übertragung verteilt sich auf mehrere Round Trips. Je länger die RTT des Spielers, desto später erscheinen die Objekte, mit 0 verschwindet das Problem
Spricht dagegen
cwnd bleibt groß, Objekte erscheinen trotzdem spät: serverseitige Verarbeitung beim Betreten („Spawn-Flut beim Betreten belebter Gebiete“)
Prüfmittel
Mit Infrastruktur-Tools prüfbar (ohne Spielcode)
Quellen
IP SysctlLinux kernel tcp_slow_start_after_idle standardmäßig an, nach Leerlauf über die Dauer eines RTO wird das Congestion Window verkleinert (Verfahren nach RFC 2861)
RFC 5681: TCP Congestion ControlIETF Wurde länger als ein RTO nichts gesendet, wird das Congestion Window auf höchstens das Restart Window min(IW, cwnd) verkleinert, danach Slow Start