한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Game-Lag-Whitepaper › Grundursachen von TCP-Retransmissions

Policer verwirft Überschuss Traffic policing

Ursachen-ID rt-policer · Hauptzuständig Netzwerk-Infrastruktur (Infrastrukturteam) · Beteiligt Server-Infrastruktur (Infrastrukturteam), Server-Entwicklung (Entwicklungsteam)

In der interaktiven Fassung mit Grafiken und Experimenten öffnen →

Provider-Tarife, Limits von Cloud-Instanzen und DDoS-Schutzgeräte verwerfen Pakete oberhalb einer festgelegten Rate teils sofort, ohne sie in eine Warteschlange zu stellen.

Warum Kurzfristige Sendemenge überschreitet erlaubte Rate oder erlaubten Burst → Folge Überschüssige Pakete werden ohne Warteschlange sofort verworfen (Policing) → Auf dem Bildschirm In Momenten mit großem Burst verschwinden mehrere Pakete: Freeze, danach Zeitraffer, die Durchschnittsrate liegt scheinbar unter dem Limit

Symptome
Freeze, Zeitraffer, Teleportieren
Faktoren
Paketverlust
Wer ist betroffen
Ganzer Server, Bestimmte Region oder Provider, Nur ich
Wann
Bei großem Andrang, Abendliche Stoßzeit
Zuständigkeit
Hauptzuständig Netzwerk-Infrastruktur (Infrastrukturteam) · Beteiligt Server-Infrastruktur (Infrastrukturteam), Server-Entwicklung (Entwicklungsteam)
Aufgaben Entwicklungsteam
Die gebündelte Sendemenge jedes Ticks über den Tick verteilen und so die kurzfristige Sendemenge unter den erlaubten Burst drücken, bei Erreichen eines PPS-Limits die Nachrichten eines Ticks in einem Paket zusammenfassen.
Aufgaben Infrastrukturteam
Netzwerk: Überschreitungszähler der Policer an den Geräten prüfen, Policer durch Shaper ersetzen, erlaubten Burst erhöhen. Server/OS: Metriken für Überschreitungen der Cloud-Limits prüfen (bei AWS bw_out_allowance_exceeded und pps_allowance_exceeded in ethtool -S), größere Instanz wählen, Pacing auf dem Server (Linux-fq-Queue).
Größenordnungen
Ein Shaper (stellt Pakete in eine Warteschlange und verzögert sie) erhöht die Latenz, ein Policer (verwirft sofort) erhöht den Paketverlust. Eine TCP-Spielverbindung kann bei einem einzigen Verlust mehrere hundert ms stillstehen. Wird das Limit nur kurz überschritten, wirkt sich daher meist der Policer stärker aus.
Im Graphen
Plateau am Limit · Sendemenge in kurzen Intervallen, Überschreitungszähler von Policer und allowance
Wo nachsehen
Überschreitungs- (exceed) und Drop-Zähler des Geräts mit dem Policer prüfen, in der Cloud bw_out_allowance_exceeded und pps_allowance_exceeded in ethtool -S. Bei Verbindungen mit Verlust die RTT unmittelbar vor dem Verlust anhand von rtt in ss -ti oder per Paketmitschnitt prüfen
Spricht dafür
Überschreitungszähler steigen, die in kurzen Intervallen gemessene Sendemenge verläuft bei einem bestimmten Wert flach wie abgeschnitten. Vor dem Verlust steigt die RTT nicht, nur in Momenten mit großem Burst verschwinden mehrere Pakete auf einmal
Spricht dagegen
Vor dem Verlust steigt zuerst die RTT: Warteschlangenüberlauf („Warteschlangenüberlauf am Engpass“, „Überlauf flacher Puffer durch Sende-Bursts“). Überschreitungszähler unverändert: andere Ursache
Prüfmittel
Mit Infrastruktur-Tools prüfbar (ohne Spielcode)

Quellen

  1. RFC 2475: An Architecture for Differentiated Services IETF
    Definition: Shaping verzögert Pakete, bis sie dem Traffic-Profil entsprechen, Policing verwirft Pakete, die das Profil überschreiten
  2. An Internet-Wide Analysis of Traffic Policing Google
    Übertragungen mit Policing haben im Schnitt eine 6-mal höhere Verlustrate, dasselbe Ziel lässt sich mit Pacing oder Shaping erreichen. Unterscheidung: Policing verwirft den Überschuss ohne RTT-Anstieg, bei Warteschlangenüberlauf steigt die RTT vor dem Verlust (SIGCOMM 2016)
  3. Monitor network performance for ENA settings on your EC2 instance AWS
    bw_out_allowance_exceeded und pps_allowance_exceeded in ethtool -S: Zahl der Pakete, die wegen Überschreitung der Instanzlimits in die Warteschlange gestellt oder verworfen wurden
  4. tc-fq(8) — Linux manual page iproute2
    Pacing pro Verbindung in der Linux-fq-Queue
  5. ss(8) — Linux manual page iproute2
    rtt (mittlere Umlaufzeit) bei ss -i

Verwandte Ursachen

Gleiche Schicht: Grundursachen von TCP-Retransmissions

Ursachen aus anderen Schichten mit demselben Symptom (Freeze)

Karte in der interaktiven Fassung mit Grafiken und Experimenten ansehen