Microsoft KB Archive/280087

= FIX: Windows 2000 Application Delay Occurs in Response to the Message Queuing Send Function =

Article ID: 280087

Article Last Modified on 2/23/2007

-

APPLIES TO


 * Microsoft Message Queuing 2.0

-



This article was previously published under Q280087



SYMPTOMS
When you send messages to a remote computer and the network connection is lost, the application may have a 12 to 17 second delay in response to the Message Queuing send function.



CAUSE
Every five seconds, the MSMQ Queue Manager tries to reconnect to target computers that don't have a working TCP/IP session. If the target computer is unavailable, this connection attempt can be blocked. MSMQ uses a limited number of working threads to handle these network connections and local applications. There is no limit to the number of working threads to retry these connection attempts. This can lead to all worker threads being tied up in connection attempts, and there may be more than one worker thread attempting to connect to the same target computer.

On a computer running Microsoft Windows 2000 Professional, the number of worker threads is smaller than on a computer running Windows 2000 Server. The more limited thread pool on Windows 2000 Professional exposes the problem of exhausting the worker thread pool more quickly and more often.



RESOLUTION
To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

260910 How to Obtain the Latest Windows 2000 Service Pack

The English version of this fix should have the following file attributes or later:

  Date        Time   Version    Size       File name ---  02/28/2001  17:54  5.0.0.720  273kb  Mq1repl.dll 02/28/2001 17:47  5.0.0.720   14kb  Mq1sync.dll 02/28/2001 17:47  5.0.0.733   70kb  Mqac.sys 02/28/2001 17:54  5.0.0.721  210kb  Mqads.dll 02/28/2001 17:47  5.0.0.720   22kb  Mqbkup.exe 02/28/2001 17:54  5.0.0.720   29kb  Mqcertui.dll 02/28/2001 17:54  5.0.0.720   49kb  Mqclus.dll 02/28/2001 17:54  5.0.0.720   30kb  Mqdbodbc.dll 02/28/2001 17:54  5.0.0.720   74kb  Mqdscli.dll 02/28/2001 17:54  5.0.0.720   41kb  Mqdssrv.dll 02/28/2001 17:47  5.0.0.720   96kb  Mqmig.exe 02/28/2001 17:54  5.0.0.720  258kb  Mqmigrat.dll 02/28/2001 17:54  5.0.0.720  219kb  Mqoa.dll 02/28/2001 17:54  5.0.0.720    8kb  Mqperf.dll 02/28/2001 17:54  5.0.0.733  406kb  Mqqm.dll 02/28/2001 17:54  5.0.0.720    9kb  Mqrperf.dll 02/28/2001 17:54  5.0.0.733   90kb  Mqrt.dll 02/28/2001 17:54  5.0.0.720   69kb  Mqsec.dll 02/28/2001 17:54  5.0.0.720  391kb  Mqsnap.dll 02/28/2001 17:48  5.0.0.720   14kb  Mqsvc.exe 02/28/2001 17:54  5.0.0.720   24kb  Mqupgrd.dll 02/28/2001 17:54  5.0.0.720  106kb  Mqutil.dll 02/28/2001 17:54  5.0.0.720   64kb  Msmq.cpl 02/28/2001 17:54  5.0.0.720  156kb  Msmqocm.dll



STATUS
Microsoft has confirmed that this is a problem in MSMQ, version 2.0. This problem was first corrected in Windows 2000 Service Pack 3.



MORE INFORMATION
This fix corrects the problem by limiting only one thread (at most) to try to connect to same target at the same time. In addition, it reserves one thread for servicing requests that are needed for local applications.

One possible workaround is to increase this thread pool by increasing the QMThreadNo registry value. This registry value is documented in the Registry Reference help file in the Windows 2000 Resource Kit.

Additional query words: kbMSMQ

Keywords: kbhotfixserver kbqfe kbbug kbfix kbwin2000sp3fix KB280087

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.