Zitat:
Zitat von pufferueberlauf
Wie sieht das denn mit ausgeschalteten Offloads aus (also bei Linux TSO, GSO und GRO per ethtool deaktiviert)?
|
Gute Idee: Dann bietet sich das bekannte/ursprünglich erwartete Bild: Alle 2 empfangenen Pakete wird 1 Ack-Paket geschickt - und es werden beim Download mit vollen 212Mbps (Ethernet-Ebene inkl. FCS) knapp über 4Mbps im Upstream gesendet.
Also ist es TCP Segmentation Offload zu verdanken, dass die für die Acks benötigte Upstream-Datenrate um 80% reduziert wird. Dass das solche Auswirkungen hat, hätte ich nicht gedacht - ich dachte, das dient nur zur Entlastung des Hauptprozessors (was zumindest aktuelle Clients gar nicht nötig hätten).
Zitat:
Zitat von pufferueberlauf
interessanter Test, Offloads sind irgendwie garstig... Durch den ausgedünnten ACK-Strom wird jedes ACK-Paket auf einmal viel wertvoller, bzw. scherzhafter bei Verlust, was bei guter Verbindung gar nicht schlecht sein muss, aber in Anbetracht der relevanten RFCs zumindest unerwartet ist.
|
Der Verlust ist gar nicht schmerzhaft, weil ja gleich der nächste ACK hinterherkommt, der im Normalfall alle vorhergehenden ACKs impliziert. Also ein verlorener ACK hin und wieder sollte überhaupt nicht schaden.
Vielleicht die Sequenz: ACK für 20 Pakete geht verloren, folgende Downstream-Pakete fehlen, Empfänger schickt gar kein ACK mehr oder ein Selective-ACK zurück - aber dann kriegt der Durchsatz eh eine "Delle", und selbst wenn dann ~30KBytes unnötig noch mal auf den Weg geschickt werden, tut das eigentlich auch nicht weh.