MTA slows down or stalls in Exchange Server 5.5 and messages back up in the private information store

Article translations Article translations
Article ID: 327260 - View products that this article applies to.
This article was previously published under Q327260
This article has been archived. It is offered "as is" and will no longer be updated.
Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:
256986 Description of the Microsoft Windows registry
Expand all | Collapse all

On This Page


When you run Exchange Server 5.5, the message transfer agent (MTA) may slow down or stall. Messages may back up in the private information store. If you try to run Microsoft Exchange Performance Optimizer (Perfwiz.exe), the overall performance of Exchange Server may slow down.


This issue occurs because Performance Optimizer does not allocate sufficient information store threads to increase the routing capacity of the MTA. Performance Optimizer also resets any changes that you make. Make sure that you make any changes on all servers in the environment.


To resolve this issue, use one of the following methods.

Run Performance Optimizer in verbose mode to modify thread counts

  1. At a command prompt, switch to the Exchsrvr\Bin directory, type perfwiz -v, and then press ENTER to start Performance Optimizer in verbose mode.
  2. In Performance Optimizer, click Next until you see the Properties window that includes the Users on this server and Users in organization boxes.
  3. In the Users on this server and Users in organization boxes, allocate sufficient resources to handle your workload.

    If the number of users falls in the high end of a range, select the next-highest range. Under Memory Usage, do not limit Exchange Server memory usage.
  4. Click Next until you see the # of background threads box, note the value in the box (do not change it), and then click Next.
  5. In the Public and Private Information Store box, increase each of the four send and delivery thread values to 6.
  6. Click Back to return to the # of background threads box, and then increase that value based on the changes that you made in step 5. For example, if you increased each of the four send and delivery thread values from 2 to 6, increase the # of background threads value by 16.

    Note Although you can make these changes manually in the registry, by default these values are not visible. When you run perfwiz -v, the program automatically adds the values for you and eliminates any worry about spelling and case sensitivity.
  7. Click Next until you see the # of submit/deliver threads box, and then increase the value for this box to 6 from the default setting of 2. The MTA uses these threads to transfer mail to the information store.
  8. On the same page, specify the following values:
    • Kernel threads: 6
    • RTS threads: 6
    • Transfer threads: 6
    • Dispatcher threads: 6
    Increasing these values to 6 creates a larger pipe between the MTA and the information store. This allows the message backlog to be cleared more efficiently under high-traffic conditions.
  9. Click Next until you see the # of TCP/IP control blocks box and make sure that the value in this box is not reset to 20 (unless that is the correct value).

    If there are more than two X.400 connectors installed on Exchange Server, Microsoft recommends that you increase this registry value to [10 * (number of X.400 connectors+ 10)] for the appropriate protocol stack. For example, if there are five X.400 connectors installed on Exchange Server, set this registry string to a value of 60 (decimal). This allows 10 control blocks per X.400 connector. This is the maximum number of permitted associations per X.400 connector.

    The maximum allowed total is 2,000 control blocks.

    Note If you are also using X.25 as a messaging protocol stack, the total of X.25 + TCP/IP control blocks can be no greater than 1,250.

    If these values are increased beyond the acceptable ranges, the MTA will fail to start.

    Note Note that perfwiz -v tries to reset the Transmission Control Protocol (TCP) control blocks parameter to the default of 20. Compare settings before you commit changes.
  10. Click Next two times, click Finish, and then restart services.
Monitor the MTA queue to the information store to verify that the changes affect the queue.

Modify the registry

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

To resolve this behavior, create or change the following values in the Windows NT registry:
  1. Start Registry Editor (Regedt32.exe).
  2. Locate and then click the following key in the registry:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet Services\MSExchangeMTA\Parameters
    Note This registry key is one path; it has been wrapped for readability.
  3. On the Edit menu, click Add Value, and then add the following registry value:
    Value Name: Allow fuzzy proxy search
    Data Type: REG_DWORD
    Value: 2

    Note If the registry value does not exist in the registry, the MTA assumes a value of 1 for this setting and enables fuzzy proxy searches.
  4. Double-click the Concurrent XAPI Sessions value.
  5. In the Radix area, click Hex, type 50 in the Data box, and then click OK.

    Note By default, this value is set to 50 hexadecimal (80 decimal). If Performance Optimizer is run with default settings selected, the value is set to 30. However, we recommend that this value be set to 50 hexadecimal (80 decimal).
  6. Quit Registry Editor.
  7. Stop and then restart the Microsoft Exchange Message Transfer Agent (MTA) service.


Performance Monitor in verbose mode stops all services and offers options that are not available in normal mode. You do not have to analyze hard disks or move files. You can use this procedure to change some resource (thread) settings from the defaults.

To view the current settings for this server without stopping services, type perfwiz -r (at a command prompt). You can also use the Perfopt.log file in the Winnt\System32 folder to view any changes that Performance Optimizer makes to the system.


For more information about MTA fanout, messages in the information store, and improving MTA network performance, click the following article numbers to view the articles in the Microsoft Knowledge Base:
265186 MTA fanout slows on multiprocessor servers, and messages back up in information store
176046 Routing issues with Microsoft Exchange Server, version 5.0
159184 MTA does not deliver messages with high directory service activity
234280 How to increase the ability of the MTA to pass mail over slow network connections
234702 MTA queue to information store processing slowly
247782 Mail transfer slow across connectors, event IDs 3120 and 9316 appear

Note that if you change the public and private send and deliver threads as described in Knowledge Base article 234702, you must also check the concurrent X.400 application programming interface (XAPI) sessions to make sure that the value is set adequately. Otherwise, you may experience new performance issues and may receive an Event ID 3120 error message from the MTA.


Article ID: 327260 - Last Review: October 26, 2013 - Revision: 8.1
  • Microsoft Exchange Server 5.5 Standard Edition
kbnosurvey kbarchive kbtransport kbhowtomaster kbprb KB327260

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from