We've noticed that if the client hasn't sent a message in 5 minutes or so,
the very next message takes 6 - 30 (maybe a little more) to reach the
cluster. I assume this is the time it takes the client to reestablish a
connection. The result is the application user see's a weird delay in data
coming back, where it would normally be instantaneous.
However, Windows 7 clients do not have this issue. Even after a long period
of inactivity, the server is able to receive the message withing
milliseconds. My architect is recommending setting up pinging at configurable
2 - 3 minute intervals from the client to keep the connection open.
Is this a known issue between 3.0 and 4.0? Is there a better way to handle
this situation?
If there is a period of inactivity, the network connection between sender
and receiver will be closed.
The length of this period is controlled by the CleanupInterval registry
value.
http://technet.microsoft.com/en-us/library/cc957466.aspx.
Once the connection is closed, MSMQ will wait a certain period before
reopening it, even if there are new messages waiting.
This is controlled by the WaitTime registry value.
http://support.microsoft.com/default.aspx?scid=kb;EN-US;909401
This mechanism should be the same in all versions of Windows.
If you are seeing long delays then the common causes are:
1 DNS issues where the reconnection is given an invalid IP address
2 Physical network issues where the destination cannot be reached.
Your best approach is collecting a network trace and seeing where the delays
appear.
Cheers
John Breakwell
"Robert." <Robert.@discussions.microsoft.com> wrote in message
news:EB23BEA0-7AC9-4F5F...@microsoft.com...