Slow Network Performance with Terminal Server

ID: Q191370


The information in this article applies to:
  • Microsoft Windows NT Server version 4.0, Terminal Server Edition

IMPORTANT: This article contains information about editing the registry. Before you edit the registry, make sure you understand how to restore it if a problem occurs. For information about how to do this, view the "Restoring the Registry" Help topic in Regedit.exe or the "Restoring a Registry Key" Help topic in Regedt32.exe.

SYMPTOMS

Windows NT Terminal Server experiences difficulties communicating with another Windows NT computer on the network. A network monitor trace reveals significant delays between successive server message blocks (SMBs) sent from the Windows NT Terminal Server client to the remote server.

This situation usually occurs when a high number of client sessions (RDP or ICA) are connected and actively using the Terminal Server. This situation is more likely to occur if every user has a drive mapped to a common server. Under certain circumstances, this can cause the Terminal Server to stop responding on all client sessions. When this occurs, console response is normal until attempting to use the redirector. CPU usage will normally be very low.


CAUSE

The MaxMpxCt parameter allows a server to provide a suggested maximum number of simultaneous outstanding client requests to a particular server.

During negotiation of the SMB dialect, this value is passed to the client's redirector where the limit on outstanding requests is enforced.

When multiple RDP clients are connected to the Terminal Server, there is normally one instance of the Windows shell, Explorer.exe, running for each client.

Explorer makes extensive use of directory notifications, resulting in a number of NTNotifyDirectoryChange SMBs being posted to the server. Directory notifications allow the server to notify the client when file or directory information changes. The NTNotifyDirectoryChange SMB is classified as a long term request. The SMB is received by the server but is not returned until a change occurs (or until the SMB is cancelled by the client).

When several RDP clients connect to the Terminal Server, the number of outstanding commands against the server can exceed the default maximum of 50. If this situation arises, other SMB requests will wait in the redirector until previous requests complete, timeout, or are cancelled.


RESOLUTION

Increase the MaxMpxCt parameter on the remote server, not the Terminal Server computer.

Although increasing this value can potentially increase server performance, it may require a high use of server work items.

WARNING: Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.

For information about how to edit the registry, view the "Changing Keys and Values" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe. Note that you should back up the registry before you edit it. If you are running Windows NT, you should also update your Emergency Repair Disk (ERD).

WARNING: Making a change to the MaxMpxCt registry entry may cause Windows 95/98 clients to not be able to connect to the server.

  1. Use Registry Editor to go to the following registry path:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer
    \Parameters


  2. Make the following changes:

    MaxMpxCt REG_DWORD

    Range: 1 to 65535 requests
    Default: 50


Additional query words: semaphore lock freeze break transact tranceive

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


Last Reviewed: August 12, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.