Ich möchte den Windows 7 TCP-Stack auf Geschwindigkeit in einer LAN-Umgebung abstimmen.
Einige Hintergrundinformationen: Ich habe einen Citrix XenServer mit Windows 2008R2, Windows 7 und Debian Lenny mit Citrix-Kernel eingerichtet. Auf Windows-Computern sind Tools installiert. Der iperf
Serverprozess wird auf einem anderen Host ausgeführt, auch Debian Lenny. Die Server sind ansonsten inaktiv. Die Tests wurden einige Male wiederholt, um die Ergebnisse zu bestätigen.
Während des Testens mit iperf
2008R2 können ohne Optimierung etwa 600-700 Mbit / s erreicht werden, aber ich kann keine Anleitung oder einen Satz von Parametern finden, die Windows 7 dazu bringen, etwas über 150 Mbit / s zu erreichen, ohne die TCP-Fenstergröße mithilfe von -w
Parametern zu ändern iperf
.
Ich habe versucht , mit netsh
autotuining
zu disabled
, experimental
, normal
und highlyrestricted
- keine Änderung. Ändern congestionprovider
macht nichts, genauso wie rss
und chimney
.
Es hilft nicht, alle verfügbaren Einstellungen auf dieselben Werte wie auf dem Windows 2008R2-Host einzustellen.
Zusammenfassen:
- Standardeinstellungen für Windows 2008R2: 600-700 Mbit / s
- Debian, Standardeinstellungen: 600 Mbit / s
- Windows 7-Standardeinstellungen: 120 Mbit / s
- Windows 7-Standard
iperf -w 65536
: 400-500 Mbit / s
Während die fehlenden 400 Mbit / s an Leistung auf die beschissene Realtek-Netzwerkkarte im XenServer-Host zurückzuführen sind (ich kann ~ 980 Mbit / s von meinem Laptop auf den iperf-Server übertragen), erklärt dies nicht, warum Windows 7 keine gute Leistung erzielen kann, ohne die Fenstergröße manuell einzustellen die Anwendungsebene.
Wie kann man Windows 7 optimieren?
quelle
Es könnte sich um einen anderen Netzwerktreiber in Windows 2008R2 als in Windows 7 handeln. Bietet xenserver Windows 2008R2 und Windows 7 immer dieselbe virtuelle Netzwerkkarte? Denn wenn es anders ist, wird ein anderer Treiber geladen.
Es kann einige Leistungsunterschiede geben.
EDIT: Ich habe mich gerade daran erinnert, dass Windows 7 standardmäßig sehr kleine Sende- / Empfangspuffer hat. In einigen Apps, die ich entwickelte, stellte ich fest, dass es unter Windows 7 etwas Pathetisches wie 8 KB war. Unter Ubuntu Linux sind es ungefähr 120kB. Sie können irgendwo lesen, dass das Limit 64 KB beträgt. Dies ist für spätere Windows-Versionen tatsächlich nicht korrekt. Ich habe festgestellt, dass es sogar auf 1 MB und mehr eingestellt werden kann. Obwohl eine geringe Leistungssteigerung bemerkt wird, wenn es so groß ist.
Dieser Link enthält einige TCP-Optimierungsparameter in der Registrierung, die systemweit gelten. Beachten Sie, dass viele dieser Optionen von den Anwendungen selbst überschrieben werden können.
http://www.psc.edu/networking/projects/tcptune/ http://www.psc.edu/networking/projects/tcptune/OStune/winxp/winxp_stepbystep.html
Versuchen Sie, die Fenstergröße zu erhöhen und Puffer zu senden / empfangen. Hoffentlich gelten diese Registrierungseinstellungen im Link weiterhin in Windows 7.
quelle
MTU? http://networking.nitecruzr.net/2007/11/setting-mtu-in-windows-vista.html
quelle
TCP-Autotuning (das Sie bereits ausgeschlossen haben), MTU, das bereits angesprochen wurde, und MMCS (Multimedia Class Scheduling) sind normalerweise die großen Unterschiede. Da MMCS noch nicht angesprochen wurde, versuchen Sie es zu deaktivieren.
Stellen Sie sicher, dass die automatische Skalierung Ihres TCP-Fensters deaktiviert ist, wenn Sie sich in oder nahe der LAN-Geschwindigkeit befinden.
Anweisungen finden Sie hier: http://smallvoid.com/article/winnt-services-mmcss.html
quelle
Sie sollten den Realtek-Treiber in Windows nicht als virtuelle Maschine unter Citrix XenServer sehen. Wenn Sie dies tun, bedeutet dies, dass XenTools nicht installiert ist. Die Realtek-Netzwerkkarte, die Sie sehen, ist eine emulierte Netzwerkkarte, die vom QEMU-Dienst innerhalb von Dom 0 (Domäne 0) bereitgestellt wird. Nach der Installation des Windows-Betriebssystems müssen Sie XenTools installieren, bevor Sie etwas anderes tun, insbesondere die Anwendungsinstallation. Außerdem wird die Geschwindigkeit nach der Installation von XenTools fest codiert (wie im VM-Benutzerhandbuch angegeben), da die Geschwindigkeit auf einem virtuellen Gerät unbegrenzt ist.
quelle