View previous topic :: View next topic |
Author |
Message |
ChrisJumper Advocate
Joined: 12 Mar 2005 Posts: 2390 Location: Germany
|
Posted: Mon Aug 05, 2019 1:43 pm Post subject: TCP Initial Window |
|
|
Heute einen interessanten Artikel im Linux Magazin gelesen, es ist zwar nur eine kleine Optimierung, aber zusammen mit TCP Pacing hat es mein Netzwerk etwas flüssiger gemacht.
Vergrößern der TCP Initial Window. Leider finde ich den Artikel nicht online beim Linux-Magazin, vielleicht kommt der noch nach dann verlinke ich den hier auch.
Bei der Übertragung von Daten per tcp, fängt TCP mit einer recht kleinen Größe an die Daten auszutauschen und vergrößert dann stück für Stück die Payload, so das es mehr Daten überträgt. Der kleine Wert ist auch hilfreich weil der Kernel nicht weiß wie viele Bits/s durch die Leistung gehen. Aber da er sehr klein anfängt gibt es mehrere Roundtrips bei der erst 14 kBye, dann 42 kByte und 99 kByte über die Leitung gehen. Was Zeit und Overhead kostet. Erhöht man diesen Wert werden schneller mehr Daten übertragen und es gibt weniger Overhead.
Die default route wird dabei mit dem höhren Wert verwendet. Man sollte den Wert nicht zu hoch ansetzen weil sich sonst die Auslieferung sogar länger dauern kann.
Schauen wir uns mal die Default-Route an, un ändern sie mit dem unteren Befehl auf initcwnd 32. Hier in dem Beispiel via 192.168.4.1 über Device eth0.
Code: | # ip route show
default via 192.168.4.1 dev eth0
...
...
# ip route change default via 192.168.4.1 dev eth0 initcwnd 32
|
Und noch mal nach schauen ob der Wert gesetzt wurde:
Code: | # ip route show
default via 192.168.4.1 dev eth0 initcwnd 32 |
Damit das dauerhaft bleibt muss man das in ein Startscript eintragen. Bei normalen Linux Systemen ist das irgendwo bei /etc/network/interfaces, mit Systemd hab ich das einfach in mein Netzwerk-Initscript gemacht, aber es gibt bestimmt auch eine network.d Einstellung dafür. Bin aber zu faul zum suchen.
Pacing sollte man aktivieren, damit es nicht zu stau kommt, dafür muss in .config vom Kernel folgendes aktiviert sein sein:
Code: | CONFIG_NET_SCH_FQ=y |
Manuell findet man das unter:
Networking support --> Networking options --> QoS and or fair queueing --> [*] Fair Queue
Dann noch in /etc/sysctl.conf eintragen, damit es beim Neustart direkt gesetzt wird:
Code: | # echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf |
Fertig!
Wer sein LAN, Backup oder Fileserver auf diese Weise beschleunigen möchte, für den gibt es noch die Möglichkeit etwas experimentielles auszuprobieren, was in etwa die selbe Kerbe schlägt:
Networking support --> Networking options --> TCP: advanced congestion control --> [*] TCP High Speed
Aber auf jeden Fall einen Blick in die RFC werfen.
Sally Floyd's High Speed TCP experimental RFC 3649 werfen. |
|
Back to top |
|
|
schmidicom Veteran
Joined: 09 Mar 2006 Posts: 1942 Location: Schweiz
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|