FIX: TCP/IP-Nagle-Algorithmus für Microsoft Nachrichtenwarteschlangenserver kann deaktiviert werden

Symptome

Beim Senden von Nachrichten mit Microsoft Message Queue und TCP/IP als Transportprotokoll kann es zu einer Verzögerung von ca. 300 ms kommen, bevor das Paket über das Netzwerk gesendet wird. Dies liegt daran, dass der Windows TCP/IP-Stack den Nagle-Algorithmus verwendet. Der Nagle-Algorithmus verbessert die Leistung, indem er sicherstellt, dass TCP/IP-Pakete effizient genutzt werden und das Netzwerk nicht mit kleinen TCP/IP-Paketen überflutet wird. In einigen Szenarien kann es jedoch aus bestimmten Leistungsgründen von Vorteil sein, die kleineren Pakete zuzulassen. In diesem Artikel wird beschrieben, wie Sie den Nagle TCP/IP-Algorithmus deaktivieren, wenn MSMQ Nachrichten sendet.

Wichtig Dieser Artikel enthält Informationen zum Bearbeiten der Registrierung. Stellen Sie sicher, dass Sie die Registrierung sichern, bevor Sie sie ändern. Stellen Sie sicher, dass Sie wissen, wie Sie die Registrierung wiederherstellen, falls ein Problem auftreten sollte. Weitere Informationen zum Erstellen einer Sicherungskopie, zum Wiederherstellen und Bearbeiten der Registrierung finden Sie im folgenden Artikel der Microsoft Knowledge Base:

256986 Beschreibung der Microsoft Windows-Registrierung

Lösung

Hinweis Der folgende Hotfix wird für MSMQ 2.0 (Windows 2000) oder MSMQ 3.0 (Windows XP und Windows 2003) nicht benötigt. Der im Abschnitt "Weitere Informationen" dieses Artikels beschriebene Registrierungswert muss jedoch noch hinzugefügt werden.

Ein Hotfix zur Behebung des in diesem Artikel beschriebenen Problems ist jetzt von Microsoft erhältlich. Er dient jedoch nur zur Behebung des in diesem Artikel beschriebenen Problems. Wenden Sie sie nur auf Systeme an, bei denen dieses spezifische Problem auftritt.

Wenden Sie sich an den Microsoft-Produktsupport, um den Hotfix zu erhalten, um dieses Problem zu beheben. Eine vollständige Liste mit Telefonnummern der Microsoft-Produktsupport und Informationen über die Supportkosten finden Sie auf der folgenden Microsoft-Website:

http://support.microsoft.com/contactus/?ws=support Hinweis: In besonderen Fällen werden Gebühren, die normalerweise für Supportanrufe anfallen, storniert, wenn ein Microsoft-Support-Mitarbeiter feststellt, dass das Problem durch ein bestimmtes Update behoben wird. PLEASE DO NOT TRANSLATE. DOES NOT APPLY TO GERMAN.

Die englische Version dieses Fixes sollte die folgenden Dateiattribute oder höher aufweisen:

   Datum Uhrzeit Version Größe Dateiname Plattform
   -------------------------------------------------------------
   22.06.1999 13:34 1.00.0294 481.552 MQQM.DLL x86

Status

Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.

Dieser Fehler wurde in Windows NT 4.0 Service Pack 6 behoben.

Weitere Informationen

Der Nagle TCP/IP-Algorithmus

Der Nagle TCP/IP-Algorithmus wurde entwickelt, um Probleme mit kleinen Paketen, sogenannten Tinygrammen, in langsamen Netzwerken zu vermeiden. Der Algorithmus besagt, dass eine TCP/IP-Verbindung nur ein ausstehendes kleines Segment haben kann, das noch nicht bestätigt wurde. Die Definition von "klein" variiert, aber normalerweise wird es als "kleiner als die Segmentgröße" definiert, die im Ethernet etwa 1500 Byte beträgt.

Manuelles Deaktivieren des Nagle-Algorithmus

Sie können den Nagle-Algorithmus deaktivieren, indem Sie die folgende Registrierungseinstellung ändern und die Anweisungen im Abschnitt "Aktivieren der Modifikationen" verwenden.

  1. Suchen Sie unter der Unterstruktur HKEY_LOCAL_MACHINE folgenden Schlüssel:

          \Software\Microsoft\MSMQ\Parameters

  2. Wählen Sie im Menü "Bearbeiten" "Schlüssel hinzufügen" aus, und verwenden Sie die folgenden Informationen:

          Wertname: TcpNoDelay
          Bestelldauer: 1

Aktivieren der Modifikationen

Der Warteschlangenmanager muss gestoppt und neu gestartet werden, nachdem die Registrierungsänderungen vorgenommen wurden. Dazu können Sie den Microsoft-Nachrichtenwarteschlangendienst über die Systemsteuerung "Dienste" beenden und starten.

Referenzmaterial

Hinweis: Der Nagle-Algorithmus ist in TCP/IP RFC 896 definiert.