FIX: TCP/IP Nagle algoritme voor Microsoft Message Queue Server kan worden uitgeschakeld


Symptomen


Bij het verzenden van berichten met Microsoft Message Queue en TCP/IP als transportprotocol, kan er een vertraging van ongeveer 300ms voordat het pakket wordt verzonden via het netwerk. Dit komt doordat de Nagle-algoritme wordt gebruikt door de Windows TCP/IP-stack. Het algoritme Nagle verbetert de prestaties door ervoor te zorgen dat de TCP/IP-pakketten worden efficiënt gebruikt en voorkomen dat het netwerk wordt overstroomd met kleine TCP/IP-pakketten. Hoewel in sommige gevallen de kleinere pakketten om specifieke redenen de voorkeur wordt. In dit artikel wordt beschreven hoe het algoritme Nagle TCP/IP uit te schakelen als MSMQ berichten worden verzonden.

Belangrijk Dit artikel bevat informatie over het wijzigen van het register. Zorg ervoor dat u een back-up van het register voordat u aanbrengt wijzigingen. Zorg ervoor dat u weet hoe u het register kunt herstellen als er een probleem optreedt. Voor meer informatie over hoe u een back-up, herstellen en aanpassen van het register, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base:
256986 beschrijving van het Microsoft Windows-register

Oplossing


Opmerking De volgende hotfix is niet nodig voor MSMQ 2.0 (Windows 2000) of MSMQ 3.0 (Windows XP en Windows 2003). De registerwaarde die wordt beschreven in de sectie 'Meer informatie' van dit artikel wordt echter nog steeds moet worden toegevoegd.

Een ondersteunde hotfix is nu beschikbaar bij Microsoft, maar is alleen bedoeld voor het probleem dat in dit artikel wordt beschreven. Pas deze alleen toe op systemen waarop dit specifieke probleem zich voordoet.

U lost dit probleem, neem contact op met Microsoft Product Support Services om de hotfix te verkrijgen. Voor een volledige lijst met telefoonnummers van Microsoft Product Support Services en informatie over kosten van ondersteuning vindt u op de volgende Microsoft-website:Opmerking In speciale gevallen kunnen kosten die normaal aan ondersteuningsoproepen verbonden zijn, worden geannuleerd als een medewerker van Microsoft productondersteuning van mening is dat een specifieke update de oplossing van uw probleem is. De normale ondersteuningskosten blijven gelden voor extra ondersteuningsvragen die niet in aanmerking voor de specifieke update in kwestie komen.

De Engelse versie van deze correctie moet de volgende bestandskenmerken hebben of later:

Date Time Version Size File name Platform
-------------------------------------------------------------
6/22/1999 1:34 PM 1.00.0294 481,552 MQQM.DLL x86

Status


Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.

Deze fout is gecorrigeerd in Windows NT 4.0 Service Pack 6.

Meer informatie


Het algoritme van de TCP/IP-Nagle

De TCP/IP-Nagle-algoritme is ontworpen om problemen met kleine pakketten, tinygrams, genoemd in langzame netwerken te voorkomen. Het algoritme zegt dat slechts één uitstaande klein segment dat nog niet bevestigd door een TCP/IP-verbinding kan hebben. De definitie van 'klein' varieert, maar meestal deze als "lager zijn dan de segmentgrootte", die is gedefinieerd op ethernet is ongeveer 1500 bytes.

Het algoritme Nagle handmatig uit te schakelen

Het algoritme Nagle kunt u uitschakelen door de volgende registerinstelling wijzigen en volgens de aanwijzingen in de sectie 'De wijzigingen activeren'.

  1. Zoeken onder de substructuur HKEY_LOCAL_MACHINE naar de volgende sleutel:

    \Software\Microsoft\MSMQ\Parameters
  2. Kies sleutel toevoegen in het menu bewerken en gebruik de volgende informatie:

    Value Name: TcpNoDelay
    DWord: 1

De wijzigingen te activeren

De wachtrijbeheerder moet worden gestopt en opnieuw gestart nadat het register is gewijzigd. Dit kunt u doen door te stoppen en de Microsoft Message Queue-Service starten vanuit services in het Configuratiescherm.

Referenties


Opmerking Het algoritme Nagle is gedefinieerd in RFC 896 van TCP/IP.