Microsoft KB Archive/231869

= XADM: Increasing Min/Max Store Threads for RPC-Related Issues =

Article ID: Q231869

The information in this article applies to:


 * Microsoft Exchange Server, version 5.5

SYMPTOMS
Randomly throughtout the day, the client stops responding (hangs). Hangs can last for approximately one minute at a time. This behavior is mainly seen on Exchange Server computers that have a large number of remote clients (that is, that connect using RAS or VPN, and so on) with slow connections.

Windows NT Server 4.0 remote procedure call (RPC) uses a synchronous-based mechanism with one thread (the recv-any thread), picking up the receives and handing them up to the RPC run time. If some Exchange clients are slow, the recv-any thread can get stuck in the receive.

It is very difficult to pinpoint data to see when the problem happens, but you can monitor the following Performance Monitor counters as a general guide. Performance Monitor usually helps indicate when the problem happened.


 * MSExchangeIS\Write Bytes RPC Clients/sec--May drop to 0 briefly.
 * MSExchangeIS\Read Bytes RPC Clients/sec--May sometimes spike after the Write Bytes RPC have corrected themselves.
 * Process\Thread Count\STORE--Sometimes spikes briefly. In one case, it spiked from 160 to 211, then corrected itself.

RESOLUTION
The following registry changes have proved successful in several different cases. If you make these changes, please continue to monitor the Exchange Server computer using Performance Monitor and Network Monitor for other network and name resolution-related issues.

The numbers used below are based on the customer's hardware platform, which is a quad-processor. Please consult Microsoft Product Support Services before making the following registry changes.

HKLM\System\CurrentControlSet\Services\MSExchangeIS\ParametersSystem\Max Threads(Public+Private) = 200 (decimal)

HKLM\System\CurrentControlSet\Services\MSExchangeIS\ParametersSystem\Minimum Threads = 100 (decimal) Increasing the Exchange Server information store's Minimum Threads value can help alleviate the problem by increasing the MinCalls value. MinCalls is a parameter supplied during the call to RpcServerListen. When you have a higher MinCalls value, you will have more recv-direct threads. Recv-direct threads do receives independently of the recv-any thread.

If the information store fails after you change the settings as indicated above, please refer to the following article in the Microsoft Knowledge Base:

Q195006 XADM: Resource Failure Error on Computers with More Than 800 MB of  RAM Additional query words: rpc min max

Keywords         : Version          : winnt:5.5 Platform         : winnt Issue type       : kbprb