Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
TCP Initial Window
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum
View previous topic :: View next topic  
Author Message
ChrisJumper
Advocate
Advocate


Joined: 12 Mar 2005
Posts: 2390
Location: Germany

PostPosted: Mon Aug 05, 2019 1:43 pm    Post subject: TCP Initial Window Reply with quote

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
View user's profile Send private message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1942
Location: Schweiz

PostPosted: Tue Aug 06, 2019 5:47 am    Post subject: Re: TCP Initial Window Reply with quote

ChrisJumper wrote:
...mit Systemd hab ich das einfach in mein Netzwerk-Initscript gemacht, aber es gibt bestimmt auch eine network.d Einstellung dafür...

Ja die gibt es, seit Dezember 2017:
https://www.freedesktop.org/software/systemd/man/systemd.network.html#InitialCongestionWindow=

EDIT:
Der NetworkManager scheint davon allerdings noch nie was gehört zu haben...
_________________
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum All times are GMT
Page 1 of 1

 
Jump to:  
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