The SMTP FileCacheMaxHandles registry value has been manually added but may no longer be required
[This topic is intended to address a specific issue called out by the Exchange Server Analyzer Tool. You should apply it only to systems that have had the Exchange Server Analyzer Tool run against them and are experiencing that specific issue. The Exchange Server Analyzer Tool, available as a free download, remotely collects configuration data from each server in the topology and automatically analyzes the data. The resulting report details important configuration issues, potential problems, and nondefault product settings. By following these recommendations, you can achieve better performance, scalability, reliability, and uptime. For more information about the tool or to download the latest versions, see "Microsoft Exchange Analyzers" at http://go.microsoft.com/fwlink/?linkid=34707.]
Topic Last Modified: 2005-11-18
The Microsoft® Exchange Server Analyzer Tool reads the following registry entry to determine whether the maximum number of Internet Information Services (IIS) file cache handles has been modified from the default value of 800:
If the Exchange Server Analyzer finds FileCacheMaxHandles to be present and configured with a value other than 800, a non-default configuration message is displayed.
The FileCacheMaxHandles value specifies the maximum number of IIS file handles used by Exchange for every 32 megabytes (MB) of physical memory. File handles are cached to improve performance because cached file handles save the server from performing redundant input/output (I/O) and CPU cycles. Every time the SMTP transport stack on an Exchange Server computer receives a message, it is streamed out to the file system where it waits to be routed to its destination. To write to the file system, the SMTP transport stack obtains a file handle and then passes the message to that handle. Each file handle consumes approximately 2 kilobytes (KB) of paged pool memory. The default number of IIS cache file handles is 800 for every 32 MB.
Before Service Pack 2 (SP2) for Exchange 2000 Server, Exchange servers that sustained large SMTP message queues (for example, an average of 1,000 or more messages) performance constraints have been historically encountered because of a default setting on the SMTP service of a maximum of 1,000 file handles. Because Exchange 2000 Server defaulted to a maximum of 1,000 file handles, the SMTP service could only write 1,000 simultaneous messages to the file system.
To improve performance for these large systems, three registry entries were frequently simultaneously adjusted to increase the maximum number of file handles that could be opened by the SMTP service (so that more messages could be processed) and to decrease the number of open file handles for the installable file system, another Exchange component (to avoid running out of memory when the queue is large). These registry values, which did not exist by default and therefore needed to be manually added, are listed below:
The MsgHandleThreshold and MsgHandleAsyncThreshold entries are typically tuned to the same value (usually a value greater than 1,000) and the FileCacheMaxHandles value is usually reduced from 800 to 600.
This registry value is not present by default because Exchange 2000 Server Service Pack 2 (SP2) and later dynamically determines the optimal values to use. If this Exchange server is running Exchange 2000 Server with Service Pack 1 or earlier, it is recommended as a best practice that you upgrade to the latest level of service pack and Roll-up package. As soon as you have upgraded to the latest code, you can delete these registry entries.
Exchange Server 2003 dynamically calculates the appropriate settings for SMTP file handles, so these settings are no longer needed. Therefore, before upgrading any Exchange 2000 Server computers with these settings to Exchange Server 2003, you should delete these entries from the registry.
This article contains information about editing the registry. Before you edit the registry, make sure you understand how to restore the registry if a problem occurs. For information about how to restore the registry, view the "Restore the Registry" Help topic in Regedit.exe or Regedt32.exe.
To correct this error
Open a registry editor, such as Regedit.exe or Regedt32.exe.
Navigate to: HKLM\System\CurrentControlSet\Services\Inetinfo\Parameters
Delete the FileCacheMaxHandles value.
Close the registry editor and restart the IIS Admin service for the change to take effect.
Before you edit the registry, and for information about how to edit the registry, see the Microsoft Knowledge Base article 256986, "Description of the Microsoft Windows Registry" (http://go.microsoft.com/fwlink/?linkid=3052&kbid=256986).