2016-07-07 3 views
0

Ich habe an einer großen Dateiübertragung mit 10 Gigabit Ethernet gearbeitet, und anfangs hatte ich Probleme mit UDP-Pakete fallengelassen. Nachdem ich eine Menge Code neu geschrieben/optimiert und neue Designs entwickelt hatte, stolperte ich über einen Artikel, in dem es darum ging, die Kernel-Sockel-Puffergröße zu erhöhen. Nachdem ich das getan hatte, stellte ich fest, dass ich viel mehr Pakete versenden konnte, ohne befürchten zu müssen, fallengelassen zu werden. Im Wesentlichen schien es, dass ich Paketverluste eliminieren und die Übertragungsgeschwindigkeit erhöhen konnte, indem ich die Puffergröße immer größer machte (bis ich etwas ausreichte). Meine Frage ist jedoch, hat die Erhöhung der Socket-Puffergröße auf etwas sehr große unerwünschte Nebenwirkungen? Meine erste Schätzung wären Performance/CPU/Speicherprobleme, aber bei meinen Tests war das bisher nicht wirklich ein Problem. Vielleicht bin ich nur zu skeptisch, aber es scheint fast zu gut, um wahr zu sein.Gibt es irgendwelche Nebenwirkungen zur Erhöhung der Socket-Puffergröße in Linux?

+0

[Bufferbloat] (https://en.wikipedia.org/wiki/Bufferbloat). –

Antwort

1

Der einzige Nebeneffekt ist die Speichernutzung. Erhöhen Sie sie schrittweise und überwachen Sie das System. Solange du genug Speicher für bestehende Prozesse übrig lässt, solltest du golden sein.

1

Siehe http://www.cyberciti.biz/faq/linux-tcp-tuning/ Link, es hat nützliche Basisinformationen

+0

Die Erhöhung der Puffergröße kann auch dazu führen, dass andere eingehende Verbindungsanforderungen aufgrund eines Fehlers bei der Speicherzuweisung abgelehnt werden –