Симптоми
При изпращане на съобщения от опашката за съобщения на Microsoft и TCP/IP транспортен протокол, може да има забавяне от около 300ms преди Пакетът се изпраща по мрежата. Това е така, защото Windows TCP/IP стека използва Nagle алгоритъм. Nagle алгоритъм подобрява производителността чрез гарантиране на TCP/IP пакети се използват ефективно и предотвратява наводнени с малки TCP/IP пакети на мрежата. Въпреки че в някои случаи може да е добре да се позволи на по-малки пакети за изпълнение на специфични причини. Тази статия се описва как да забраните Nagle TCP/IP алгоритъм при MSMQ изпраща съобщения.
Важно: Тази статия съдържа информация за модифициране на системния регистър. Не забравяйте да резервно копие на системния регистър, преди да го промените. Уверете се, че знаете как да го възстановите, ако впоследствие възникне проблем. За повече информация как да архивирате, възстановите и модифициране на системния регистър щракнете върху следния номер на статия в базата знания на Microsoft:
256986 описание на системния регистър на Microsoft Windows
Решение
Забележка: Следната актуална корекция не е необходима за MSMQ 2.0 (Windows 2000) или MSMQ 3.0 (Windows XP и Windows 2003). Обаче стойността на системния регистър, описани в раздела "Допълнителна информация" на тази статия ще все още трябва да се добави.
Вече се предлага от Microsoft предоставя поддържана актуална корекция обаче е предназначена само за отстраняване на проблема, тази статия. Прилагайте корекцията само към системи, изпитващи този конкретен проблем.
За да разрешите този проблем, се обърнете към услугите за поддръжка на продукти на Microsoft да получите актуалната корекция. За пълен списък на телефонните номера на Microsoft Product Support Services и информация за цените на поддръжката посетете следния уеб сайт на Microsoft:
http://support.microsoft.com/contactus/?ws=supportЗабележка: При специални случаи таксите, които са за свързани с поддръжката обаждания могат да бъдат отменени, ако специалист по поддръжката на Microsoft прецени, че конкретна актуализация може да разреши проблема. Обичайните такси за поддръжката ще важат за допълнителни въпроси и проблеми, които не спадат към съответната актуализация.
Английската версия на поправката би трябвало да има следните атрибути на файл или по-нови:
Date Time Version Size File name Platform
-------------------------------------------------------------
6/22/1999 1:34 PM 1.00.0294 481,552 MQQM.DLL x86
Статус
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".
Тази грешка е коригиран в Windows NT 4.0 Service Pack 6.
Допълнителна информация
Nagle TCP/IP алгоритъм
Nagle TCP/IP алгоритъм е проектиран да избегнете проблеми с малки пакети, наречен tinygrams, при бавни мрежи. Алгоритъм казва, че TCP/IP връзка може да има само една изключително малък сегмент, който все още не е потвърдила. Дефиницията на "малък" варира, но обикновено тя се определя като "по-малко от размера на сегмента", което на ethernet е около 1500 байта.
Ръчно изключване на Nagle алгоритъм
Можете да забраните Nagle алгоритъм чрез модифициране на следната настройка на системния регистър и да използвате инструкциите в раздела "Активиране на промени".
-
Под дървото HKEY_LOCAL_MACHINE Намерете следния ключ:
\Software\Microsoft\MSMQ\Parameters -
Изберете Добавяне на ключ от менюто Редактиране и използвайте следната информация:
Value Name: TcpNoDelay
DWord: 1
Активиране на промени
Диспечер на опашката трябва да бъде спряна и рестартира след промени в системния регистър. Това може да се извърши спиране и стартиране на услугата Microsoft съобщение опашка от контролния панел на услугите.
Препратки
Забележка: Nagle алгоритъм е дефиниран в TCP/IP RFC 896.