.: Daniel Melanchthon :.

Banging your head against a wall uses 150 Calories an hour.

Netzwerkperformance unter Windows Vista

Netzwerkperformance unter Windows Vista

  • Comments 14
  • Likes

Mit Windows Vista und Windows Server 2008 wurde der Netzwerkstack komplett überarbeitet. Die Verbesserungen im Next Generation TCP/IP Stack führen zu deutlich besser auslastbaren Leitungen mit einem deutlich höheren Datendurchsatz als unter den Vorgängerversionen. In der Studie Windows Vista and Windows Server 2008 Network Benchmark Study wurden mit einem realistischen Szenario allein durch den Wechsel auf Windows Vista-basierende Clients eine Verringerung der Kopierzeiten und eine Vergrößerung des Datendurchsatzes um das bis zu 2,5 fache gemessen. Der Wechsel auf der Serverseite hin zu Windows Server 2008 erhöhte die Verbesserung auf das bis zu 3,5 fache gegenüber der Kombination Windows XP und Windows Server 2003, bedingt auch durch die dann mögliche Verwendung von Server Message Block (SMB) 2.0.

Der neue Netzwerkstack nutzt dabei ganz standardkonform das TCP/IP-Protokoll und implementiert eine Reihe von Verbesserungen, die insbesondere die Geschwindigkeit über Leitungen mit hoher Bandbreite und/oder hoher Latenz dramatisch verbessert. Zu den Verbesserungen gehören Receive Window Auto Tuning, Compound TCP, ECN Support, Verbesserungen in Umgebungen mit hohen Verlusten gemäß RFC 2582, RFC 2883, RFC 3517, RFC 4138, Fail-back Support für Änderungen des Default Gateways, Änderungen in der Erkennung von PMTU Black Hole Router und vieles mehr.

Weiterführende Informationen findet man auf Deutsch hier:

sowie auf Englisch hier:

Wenn man nun aber als Anwender von den ganzen Verbesserungen nichts spürt, weil der Datentransport irgendwie langsam ist, hilft einem die Theorie nicht wirklich weiter. Es gibt von Microsoft das Internet Connectivity Evaluation Tool, mit dem man seine Netzwerkhardware auf die Unterstützung der neu hinzugekommenen Funktionen testen kann. Das kann als erste Anlaufstelle zur Identifizierung möglicher Probleme dienen.

Über Windows Update stehen schon seit einiger Zeit Performance- und Reliability-Updates zur Verfügung, die vermutlich jeder schon eingespielt hat. Wer danach trotzdem mit Problemen beim Netzwerkzugriff zu kämpfen hat, findet in folgender Liste vielleicht einen Verursacher.

Ältere Router

Ältere Router rechnen eventuell nicht damit, dass ein Betriebsystem wirklich alle Register zur Beschleunigung des Datentransfers zieht. Zum Beispiel benutzt Vista intensiv UPNP, welches zwar schon von Windows XP bekannt war, jedoch bei weitem nicht so stark benutzt wurde. Ältere Router können mit dem erhöhten UPNP-Verkehr nicht wirklich umgehen und können zu langsamen Verbindungen, Verbindungsverlusten oder auch zu verworfenen Paketen bis hin zum Routerstillstand führen.

Das Problem ist in An outdated network router may not function correctly when you use it together with new networking features in Windows Vista beschrieben. Abhilfe kann ein Firmwareupgrade des Geräts bringen, wenn der Hersteller eine fehlerbereinigte Version auf den Markt geracht hat. Oder man versucht, die UPNP-Fähigkeit des Routers im Setup zu deaktivieren. Oder, wenn das alles nichts hilft, in den sauren Apfel beissen und ein funktionierendes Gerät anschaffen.

Veraltete Netzwerkkartentreiber

Die mit Windows Vista mitgelieferten Treiber müssen nicht zwingend die performantesten Treiber für die verwendete Hardware sein. Gerade heute fand ich wieder einen Thread in microsoft.public.de.windows.vista.netzwerk, in dem jemand die Performance seiner Realtek RTL8169-Karte beklagte und dem ein Update des Netzwerkkartentreibers sehr geholfen hatte. Ein weiteres Beispiel ist die von Asus auf dem P5K Motherboard verbaute Attansic On Board GBit LAN-Karte. Auch diese läuft erst zufriedenstellend mit einem aktuelleren Treiber ab Version 2.1.6000.0. Für beide Karten findet man bei den Herstellern Realtek und Asus jeweils aktualisierte Netzwerkkartentreiber.

Bekannt sind derartige Probleme auch auf Servern - hier beschreibt zum Beispiel der Artikel Windows 2003 Scalable Networking pack and its possible effects on Exchange das Problem von älteren Netzwerkkartentreibern und neueren Netzwerkoptionen wie TCP Chimney Offload, Receive-side Scaling (RSS) und NetDMA.

Einmal auf der Webseite des Herstellers des Netzwerkchips (kann sich durchaus vom Hersteller der Karte unterscheiden) nachschauen, ob es einen neueren Treiber gibt, kann auf jeden Fall nicht schaden.

Drittanbietersoftware

Fast schon in die Rubrik 'kurioses' fällt ein Problem, welches in m.p.d.w.vista.netzwerk beschrieben wurde. Ein USB-Skype-Telefon von US-Robotics (eigentlich von YeaLink, Taiwan) wird vom PC als USB-Audio-Gerät sowie als USB-HID-Gerät erkannt. Um die Verbindung zu Skype herzustellen (Tastenbedienung über Telefontastatur), läuft im Hintergrund ein im Autostart aktiviertes Programm namens 'SkypeMate' mit. Sobald dieses Programm nicht läuft, ist die Netzwerkperformance einwandfrei. Programme von Drittanbietern können also auch negativen Einfluss auf die Netzwerkperformance haben.

Flow control

Dieses Problem tritt insbesondere bei der Nutzung von Gigabit-Netzen auf. Möglicherweise setzt man einen Switch ein, der diplomatisch ausgedrückt eventuell überfordert ist. Die Lösung lautet hier, mit den Flow control-Parametern der Netzwerkkarte zu experimentieren. Je nach Switch kann es ratsam sein, Flow control in der Empfangsrichtung zu aktivieren oder generell Flow control zu deaktivieren. Auch eine Herabstufung der Portgeschwindigkeit auf 100 MBit kann helfen - allerdings will man ja gerade die Geschwindigkeit im Gigabit-Bereich nutzen. Beschrieben ist auch dieses Problem in You experience poor video quality or slow performance when you use Windows Media Extender features on a home network that uses a Gigabit Ethernet switch on a Windows Vista-based computer.

Deaktivieren der erweiterten Funktionen

Schliesslich kann man als letzten Schritt noch das selektive Deaktivieren der erweiterten Funktionen in Betracht ziehen. Hierbei sollte sorgfältig Schritt für Schritt getestet werden, in welcher Umgebung welche Einstellung Vorteile bringt. Auf keinen Fall sollte hier nach dem Motto "Viel hilft viel" gearbeitet werden. Da mir aber klar ist, dass ansonsten als erster "Expertentipp" in den Kommentaren netsh-Kommandos gepostet werden, führe ich sie hier mit auf. Nur damit sich aber hinterher keiner beschwert: Die Benutzung erfolgt auf eigene Gefahr ;-)

Wer wissen will, wie sein System standardmäßig eingestellt ist, kann das vorher mit folgendem Kommando herausfinden: netsh interface tcp show global

  • Autotuning
    Aktivieren: netsh interface tcp set global autotuning=normal
    Deaktivieren: netsh interface tcp set global autotuning=disabled
  • Compound TCP
    Aktivieren: netsh interface tcp set global congestionprovider=ctcp
    Deaktivieren: netsh interface tcp set global congestionprovider=none
  • ECN Support
    Aktivieren: netsh interface tcp set global ecncapability=enabled
    Deaktivieren: netsh interface tcp set global ecncapability=disabled
  • TCP Chimney
    Aktivieren: netsh interface tcp set global chimney=enabled
    Deaktivieren: netsh interface tcp set global chimney=disabled
  • Receive-side Scaling (RSS)
    Aktivieren: netsh interface tcp set global rss=enabled
    Deaktivieren: netsh interface tcp set global rss=disabled

Update am 24.12.2008

Viele kennen bestimmt den Artikel von Mark Russinovich Vista Multimedia Playback and Network Throughput. Windows Vista verfügt über einen Priorisierungsdienst, welcher laufende Multimedianwendungen erkennt und sicherstellt, dass immer genügend Hardwareressourcen zur Verfügung stehen, damit das Abspielen von Multimediadaten nicht ins Stocken kommt. Dabei reduziert er auch die mögliche Geschwindigkeit von Netzwerkschnittstellen. Seit Service Pack 1 läßt sich dieser Throttling-Mechanismus rekonfigurieren. Die Details sind in dem KB-Artikel How to use the throttling mechanism to control network performance in Windows Vista näher beschrieben. Mit dem folgenden Registryeintrag läßt sich die Netzwerkbremse ausschalten:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile]
"NetworkThrottlingIndex"=dword:ffffffff

Vielen Dank an megasupa@hotmail.com, der mich in einer Mail an diesen Tip erinnerte. Ich hatte schon seit Anfang Oktober die Idee bei mir notiert.

Comments
  • Sind die Performance und Reliability-Updates denn mittlerweile als Update über die Windows Update Funktion verfügbar ? Oder muss man sich diese immernoch händisch suchen ?

    Die Aussage: "Die Lösung lautet hier, mit den Flow control-Parametern der Netzwerkkarte zu experimentieren" kann ich nicht nachvollziehen. Wir haben hier im Unternehmen Testläufe mit Cisco, Dell und 3Com Switches durchgeführt und kamen mit keinem der Geräte auf nur 80% der Performance von denen mit Windows XP installierten Geräten.

    Ich denke, Microsoft muss hier noch einmal seine Hausaufgaben machen und eine praktikable Lösung (SP1?) anbieten. Aufgabe der Administratoren kann es nicht sein, Registry Keys zu ändern oder zu "experementieren", um eine einigermaßen brauchbare Performance zu erhalten ...

    mfg

    Bernd Blohm

  • Hallo Bernd,

    die Updates stehen schon längere Zeit über Windows Update zur Verfügung. Daher schrieb ich auch, dass die meisten diese Updates schon eingespielt haben werden.

    Die Tipps, die ich im Artikel aufgeführt habe, stammen alle aus der Praxis. Es gibt einfach viel zu viele unterschiedliche Szenarien draussen und eine Reihe von gerade älterer oder Consumer-orientierter Netzwerkhardware, bei denen die Entwickler nicht mit der Nutzung dieser Features gerechnet haben.

    Das Beispiel Flow control zeigt sich bei Switches, deren Empfangspuffer zu gering dimensioniert wurde, wenn ein Gigabit-Client Daten an einen 100 MBit-Client als Stream schickt. Das ist schlichtweg ein Hardwareproblem und kann dadurch behoben werden, wenn man Flow control auf den Clients in beide Richtungen aktiviert.

    Genauso hat es anderen Kunden geholfen, Flow control zu deaktivieren, weil bei deren Hardware der Router mit Flow control überhaupt nicht zusammenarbeiten wollte.

    VG, Daniel

  • In meiner Konfiguration, einem kleinen Gbit Netzwerk zwischen einem Windows XP Pro und einem Vista Buisness Rechner führte leider keiner der og Tipps zum Erfolg.

    Das komische an meinen Verbindungsproblemen ist, dass diese nur von XP -> Vista bestehen und das auch nur wenn die Übertragung von Vista angefordert wurde.

    Eine Kleinigkeit ist mit allerdings aufgefallen:

    Ich hatte zu Testzwecken einen FTP Server auf XP installiert und dann mehrere Dateien zu 1GB zwischen den Rechnern hin und her geschoben. Dabei fiel mir auf, das beim Download einer einzelnen Datei eine Netzwerklast von 50% zu verzeichnen war (was mehr als zufriedenstellend ist) sobald aber 2 Dateien gleichzeitig heruntergeladen wurden sank diese auf 6%. Der Upload funktionierte Problemlos egal ob 1 oder 2 Dateien gleichzeitig.

    Ich denke ich muss Bernd recht geben wenn er sagt das da noch Probleme (im TCP Stack?) bestehen und diese von Microsoft behoben werden sollten.

    Netzwerkhardware ist in meinem Fall z.B Definitiv auszuschliessen, die Rechner waren bereits ohne Switch/Router oder sonstiges direkt miteinander verkabelt.... ohne Erfolg.

    Und das der Endkunde bei Google schon einen Workaround findet kann man nicht wirklich vorraussetzten.

    vg

    Michael

  • Nunja, die "Probleme" sind ja schon seit längerem bekannt und werden quer durch als Newsgroups und Foren diskutiert. Leider gibt es keine "Universal-Lösung", aber wer hat die in der IT-Welt schon ;-)

    Gruss

    Bernd Blohm

  • Hallo Michael,

    ich habe gerade schon wieder Feedback von einem Kunden bekommen, der ein Asus-Mainboard einsetzt und der über die gleichen Probleme wie Du mit der Netzwerkperformance klagte. Er schaute bei Asus nach und installierte den aktuellsten Netzwerkkartentreiber mit dem Effekt, dass alles jetzt reibungslos funktioniert. Ich aktualisiere meinen Artikel, sobald ich von ihm erfahre, welche Karte es genau war.

    VG, Daniel

  • Bei mir handelt es sich tatsächlich um Realtek Karten aber ein Treibeupdate brachte leider keine Besserung. Ich glaube ich habe bereits sämtliche Versionen durchprobiert die auf dem Realtek FTP verfügbar waren. :) Nunja bleibt mir wohl erst mal nix anderes übrig als mich in Geduld zu üben. Und sollte ich wirklich grosse Dateien übertragen wollen bleibt mir momentan ja immernoch die Übergangslösung per FTP. Aber trotzem Danke für Deine Mühe und die Aktualisierung des Artikels.

    Gruss

    Michael

  • Hallo Michael,

    wenn es Realtek-Karten sind, dann solltest Du nochmal die Flow Control-Einstellungen auf den Eigenschaften der Netzwerkkarte im Gerätemanager überprüfen. Teste doch mal, ob es besser wird, wenn Du Flow Control ausschaltest oder in Empfangs- *und* Senderichtung aktivierst.

    VG, Daniel

  • Hallo Michael, bin bei T-Online im Second Level Support beschäftigt. Wir haben häufig das Problem, das Kunden mit Vista, insbesondere mit Laptops, keine W-Lan Verbindung mit unseren Routern herstellen können. Die Vista-Rechnern weigern sich einfach auch mit unseren aktuellsten Geräten zu kommunizieren.

  • Hi!

    Danke für die vielen guten Tipps.;) Lassen die sich auch so teilweise auf XP übertragen?

  • Hallo Marty,

    die Hinweise zu Flow Control und Treiberaktualisierungen gelten natürlich auch für Windows XP oder Windows Server 2003. Die netsh-Befehle sind Vista-spezifisch.

    VG, Daniel

  • Ich habe ja an dieser Stelle auch schon mal �ber den neuen Netzwerkstack von Windows Vista gebloggt. Daniel Melanchthon hat jetzt einen interessanten und etwas ausf�hrlicheren Blogeintrag zu diesem Thema geschrieben. Der Artikel zeigt, dass das in meine

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment