Performance and Scalability Features of Exchange Server 2003

 

To enhance the performance and scalability of your Exchange organization, Microsoft® Exchange Server 2003 provides the following new or improved features:

  • New in SP1: Improved support for multiple processors

  • New in SP2: Improved offline address book performance

  • Improved distribution list caching

  • Suppression of Out of Office messages to distribution list members

  • Enhanced DNS-based Internet mail delivery

  • Improved Microsoft Office Outlook® synchronization performance

  • Improved Outlook Web Access performance

  • Monitoring Outlook client performance

  • Link state improvements

  • Virtual Address Space improvements

  • Changing the MTA file directory location using Exchange System Manager

  • Changing the SMTP mailroot directory location using Exchange System Manager

  • Tuning Exchange Server 2003

This chapter discusses each of these topics in detail.

For information about improvements to reliability, a closely related topic, see "Reliability and Clustering Features of Exchange Server 2003."

New in SP1: Improved Support for Multiple Processors

Previously, Exchange server performance has shown marginal improvements when the number of processors in back-end servers increases to more than four. With more than eight processors, the performance increase is marginal at best, and sometimes the performance is actually worse. The falloff in performance gain with additional processors has become more pronounced with the types of processors used on more recent computers.

With Exchange Server 2003 Service Pack 1 (SP1), scalability with additional processors is much improved. When hyper-threading is enabled, eight-processor servers now provide a 50 percent increase in performance over four-processor servers. Use of eight-processor computers for back-end servers is now appropriate in many scenarios. Two-processor servers are still recommended for front-end servers.

New in SP2: Improved Offline Address Book Performance

In Exchange Server 2003 SP2, improvements were made to the offline address book performance. Specifically, these improvements help minimize the network impact of users downloading offline address book information.

Note

To realize this enhanced performance, Exchange clients must be running Microsoft® Office Outlook® 2003 Service Pack 2 (SP2) or later.

The following list describes some of the improvements:

  • Fewer situations will cause an e-mail client to download the full offline address book. Specifically, the changes in SP2 make sure that clients perform a differences download of the offline address list rather than full downloads. A differences download does not affect network performance and client performance as much as a full download.

    Important

    In some cases, although Exchange Server determines that a differences download is more efficient, Exchange Server may be unable to generate a differences file for clients earlier than Outlook 2003 SP2. In versions of Exchange Server earlier than Exchange Server 2003 SP2, a full offline address book download is always forced if a differences file cannot be generated. However, if this occurs on a server running Exchange Server 2003 SP2, Exchange Server will instead log an event indicating that it was unable to produce a differences file and will not produce a full offline address book file. In this case, your users will not be able to receive offline address book updates until the problem is corrected. The description in the event specifies what changed in the directory that caused the problem. If you notice that the change in the directory was intentional, you may want to consider changing the default behavior of the offline address book server so that full offline address book downloads are generated when a differences download cannot be generated. To change this setting, you must edit the Windows registry as specified in the event log message. For information about how to configure this setting, see "Generate a Full Offline Address Book Download File when a Differences File Cannot Be Generated" in the Exchange Server 2003 SP2 online Help. For clients running Outlook 2003 SP2 or later, the change in the offline address book format resolves the issues that would stop the server from generating a differences file. The server will never attempt to force a full offline address book download by not generating a differences file for clients that are using the new offline address book format. However, the clients may still decide to do a full download if the size of the differences files is larger than a preset fraction of the full offline address book size.

  • Full offline address book downloads are significantly reduced in size than on a server without SP2. These improvements are made possible by the adoption of an improved compression mechanism for the offline address book file.

  • Offline address book indexing is based on the locale setting (language and country) of the client. This enables users on the same server (with different locale settings) to correctly view the offline address book, sorted based on their locale setting and not the servers.

  • Diagnostic logging improvements make it easier to notice problems that may occur with offline address book downloads. Specifically, events have been added to help you monitor the following problems.

    • A Warning event is logged when at least one attribute is removed from the offline address book because it exceeds its size limit.

    • An Information event is logged every time a record is altered because some attributes exceed their size limits.

    • An Error event is logged when there is a failure in the differential download generation.

  • Ability to manage the size of offline address book download files by allowing you to specify that specific property types be limited in size in offline address list download files. To do this, in the registry, you can specify the maximum size in bytes for individual property types. Events are logged in the Application Log to help you track changes to these settings. For information about how to manage the size of offline address book download files, see "Manage Offline Address Book File Sizes" in the Exchange Server 2003 SP2 online Help.

Improved Distribution List Membership Caching

Exchange 2000 Server and Exchange Server 2003 use a rules cache to look up distribution list memberships prior to sending messages. In Exchange 2003, the rules cache has been optimized. As a result, the processing time that is required to look up the membership of a distribution list has been reduced. This new functionality improves performance by redesigning the cache so that lookups, insertions, and expirations can be completed more efficiently, thereby resulting in a sixty percent reduction of distribution list-related Microsoft Active Directory® directory service queries.

The net benefit of the redesigned cache is a small reduction in Active Directory usage (distribution list lookups are only a small percentage of overall Active Directory lookups).

Suppressing Out of Office Messages to Distribution List Members

In previous versions of Exchange, if you create an Out of Office message, that message is sent to all members of any distribution lists that appear on the To or Cc lines. In Exchange 2003, the Out of Office message is not sent to the entire membership of a distribution list appearing on the To or Cc lines. Instead, Out of Office messages are sent only to individual user names that have been specified on the To or Cc lines of incoming messages.

This change was implemented after determining that users who send e-mail messages to distribution lists frequently do not want to receive Out of Office messages from distribution list members. This change provides a minor performance benefit to Exchange servers; specifically, CPU usage is minimally reduced.

Enhanced DNS-Based Internet Mail Delivery

Domain Name System (DNS)-based Internet mail delivery has been enhanced for Exchange 2003. Specifically, load balancing of DNS-based Internet mail is now more efficient. In addition, Exchange 2003 provides improved tolerance to network and host unavailability, as well as to unresponsive external DNS servers.

This change provides a performance benefits to Exchange servers; specifically, DNS-based Internet mail is delivered more reliably.

Improved Outlook Synchronization Performance

Exchange 2003 improves the end-user experience for Outlook 2003 users.

The following are improvements to Exchange Server 2003 and Outlook 2003 communication:

  • The number of change notifications is reduced.

  • Exchange 2003 detects the native format of messages (for example, HTTP) to be synchronized and only sends messages in that format to the client.

  • Improvements to the conditions in which Outlook clients request synchronizations that include nested folder hierarchies.

  • Users now receive a message indicating the number and size of messages to be downloaded.

  • Exchange 2003 performs data compression to reduce the amount of information sent between the Outlook 2003 client and the Exchange 2003 servers.

  • Exchange 2003 reduces the total number of requests for information sent between the user with Outlook 2003 and the Exchange server.

Exchange 2003 improves the Outlook synchronization performance for users working in Cached Exchange Mode.

The following is a list of enhancements that relate to Outlook clients running in Cached Exchange Mode:

  • The number of change notifications is reduced.

  • Exchange 2003 detects the native format of messages (for example, HTTP) to be synchronized and only sends messages in that format to the client.

  • Improvements to the conditions in which Outlook clients request synchronizations that include nested folder hierarchies.

  • Users now receive a message indicating the number and size of messages to be downloaded. Users can select which messages they want to download.

  • Exchange 2003 performs data compression to reduce the amount of information sent between the Outlook 2003 client and the Exchange 2003 servers.

  • Exchange 2003 reduces the total requests for information between the client and server, whether or not an Outlook 2003 client is working in cached mode, thereby optimizing client and server communication.

These changes provide a reduction in CPU usage on the Exchange server. Specifically, the server uses less processing power as a result of fewer and less intensive client requests from Outlook clients.

Improved Outlook Web Access Performance

Exchange Server 2003 improves the end user experience for Outlook Web Access users by reducing the total amount of information sent between the computer running Outlook Web Access and the Exchange server.

Outlook Web Access client performance is improved in Exchange 2003 . For example, Outlook Web Access users will notice that their Inboxes load more quickly. They will also notice that tasks will be more responsive, especially over slow connections. A primary reason for this is because Exchange 2003 provides a reduction in the amount of bytes that must travel from the server to the browser.

Monitoring Outlook Client Performance

Previous versions of Exchange could not monitor the end-user performance experience for Outlook users. However, with Exchange 2003 and Outlook 2003, administrators can analyze performance for their users.

Exchange 2003 servers record both RPC latency and errors on client computers running Outlook 2003. An administrator can use this information to determine the overall experience quality for their users, as well as to monitor the Exchange server for errors.

Outlook clients send RPC data (for example, latency data or error code) to the Exchange 2003 server on a subsequent successful RPC calls.

Note

RPC data sent from the client computers to the Exchange server are not the primary method for detecting individual real time errors.

The following table lists the RPC-related operations that you can monitor using Microsoft Operations Manager. For information about using Microsoft Operations Manager, see https://go.microsoft.com/fwlink/?LinkId=16198 and https://go.microsoft.com/fwlink/?LinkId=18176.

Client-side performance monitors using Microsoft Operations Manager

Counter Description

Client: RPCs attempted

The total number of RPC requests attempted by the users (since the Exchange store was started).

Client: RPCs succeeded

The total number of successful RPC requests sent by the Outlook client (since the Exchange store was started).

Client: RPCs failed

The total number of failed RPC requests (since the Exchange store was started).

Client: RPCs failed: Server unavailable

The number of failed RPC requests (since the Exchange store was started) due to the "Server Unavailable" RPC error.

Client: RPCs failed: Server too busy

The number of failed RPC requests (since the Exchange store was started) due to the "Server Too Busy" RPC error.

Client: RPCs failed: all other errors

The number of failed RPC requests (since the Exchange store was started) due to all other RPC errors.

Client: RPCs attempted / sec

The rate of RPC requests attempted by the user.

Client: RPCs succeeded / sec

The rate of successful RPC requests.

Client: RPCs failed / sec

The rate of failed RPC requests.

Client: RPCs failed / sec: Server unavailable

The rate of failed RPC requests (since the Exchange store was started) due to the "Server Unavailable" RPC error.

Client: RPCs failed / sec: Server too busy

The rate of failed RPC requests (since the Exchange store was started) due to the "Server Too Busy" RPC error.

Client: RPCs failed / sec: all other errors

The rate of failed RPC requests (since the Exchange store was started) due to all other RPC errors.

Client: Total reported latency

The total latency (in seconds) for all RPC requests (since the Exchange store was started).

Client: Latency > 2 sec RPCs / sec

The rate of successful RPC requests with latencies > 2 seconds.

Client: Latency > 5 sec RPCs / sec

The rate of successful RPC requests with latencies > 5 seconds.

Client: Latency > 10 sec RPCs / sec

The rate of successful RPC requests with latencies > 10 seconds.

Exchange 2003 reduces the amount of link state traffic by suppressing link state information when no alternate path exists or a connection is oscillating. (An oscillating connection is a connection that fluctuates between available and unavailable). In both cases, the link state remains available, and therefore reduces the amount of link state traffic that is propagated.

For more information about link state improvements, see "Link State Improvements" in Transport and Message Flow Features of Exchange Server 2003.

Virtual Address Space Improvements

With Exchange 2000, administrators may have experienced issues regarding virtual address space management. To address these issues, Exchange 2003 presents the following improvements:

  • Multiple improvements to remove many small memory allocations made by Exchange components.

  • Multiple improvements to ensure that memory allocations are efficient. For example, requesting a 32 KB buffer instead of 17 KB buffer and not wasting the remaining memory.

  • At start-up, Epoxy now allocates a large 190 MB contiguous portion of memory, instead of allocating a smaller portion and then gradually requesting more memory. You can use DSAccess settings to change this Expoxy memory allocation.

  • The Store.exe process thread stack size is reduced from 512 KB to 256 KB.

  • Depending on a server's configuration, the Store.exe process now allocates a suitable Extensible Storage Engine (ESE) cache buffer size, instead of using a hard-coded value. For a server that has the /3GB option set, a cache size of 896 MB is set (for example, 28 pieces of 32 MB). If the /3GB option is not set, the cache size is set to 576 MB (for example, 18 pieces of 32 MB). For information about setting the /3GB option, see Microsoft Knowledge Base article 266096, "XGEN: Exchange 2000 Requires /3GB Switch With More Than 1 Gigabyte of Physical RAM."

    Note

    You should set the /3GB switch only on servers that meet the following criteria:

    Note

       The server hosts Exchange 2003 mailboxes or public folders.

    Note

       The server has 1 GB or more of physical memory.

  • If available virtual memory reaches 32 MB, Exchange 2003 sends a one-time request to the ESE buffer cache to increase by 64 MB (default). This 64 MB portion becomes available for message processing and provides the administrator with more time before it is necessary to start the Store.exe process.

  • Exchange performs an optimal memory configuration check when the Exchange store process starts. If the memory settings are not optimal, event 9665 will appear in Event Viewer. This message appears in the following instances:

    • The server is running Microsoft Windows® 2000 Server and the SystemPages value in the registry is set outside the range of 24000 to 31000.

    • The server has 1 GB of memory or more and does not have the /3GB switch.

    • The server is running Microsoft Windows Server™ 2003, has 1 GB of memory or more, and the /3GB switch is set, but the /USERVA setting is not present or is outside the range of 3030 to 2970.

    If you see this event, check the SystemPages and HeapDeCommitFreeBlockThreshold settings in the registry, as well as the /3GB switch and the USERVA setting in the boot.ini file.

    Note

    If you want to turn off the memory configuration check, you can create the following registry key.

    Path

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem\

    Parameter

    Suppress Memory Configuration Notification

    Type

    REG_DWORD

    Setting

    1

Changing the MTA File Directory Location Using System Manager

By default, the Exchange MTA database and run directories are located under the folder where Exchange 2003 is installed (<drive>:\Program Files\Exchsrvr\ MTADATA). On some servers, especially where Exchange is functioning as a bridgehead server, you can positively impact performance by relocating the MTA database on a fast disk array, such as a RAID 0+1 partition.

Note

When you modify the location of the queue directory, you are modifying only the MTA database path and moving only the database files (.dat files); you are not moving any of the run files or the run directory.

Note

Do not attempt to relocate the MTA run directory as this can cause performance problems.

In Exchange 2003, you can now use Exchange System Manager to change the location of the MTA database. To do this, use the General tab in the X.400 Properties dialog box. For more information about how to change the location of the MTA database, see "Moving the X.400 (MTA) and SMTP Queue Directory Locations" in Chapter 6.

Changing the SMTP Mailroot Directory Location Using System Manager

In Exchange 2003, when messages arrive through SMTP, the data is written to a disk in the form of a Microsoft Windows NT File System (NTFS) file (specifically, an .eml file). By default, these files are written to a directory (<drive>:\Program Files\Exchsrvr\Mailroot) on the same disk partition where the Exchange 2003 binary files are installed.

In some scenarios, such as configuring a bridgehead or relay server, relocating the SMTP Mailroot directory to a faster disk partition may positively impact performance.

In Exchange 2003, you can now use Exchange System Manager to move the Mailroot directory. To do this, use the Messages tab in the SMTP Virtual Server Properties dialog box. For more information about how to move the Mailroot directory, see "Moving the X.400 (MTA) and SMTP Queue Directory Locations" in Transport and Message Flow Features of Exchange Server 2003.

Tuning Exchange 2003

Upon installation, Exchange 2003 performs very well and does not require much tuning. However, in situations where you are coexisting with previous versions of Exchange or implementing large scale-up Exchange 2003 servers, some manual tuning may be required.

Although this section does not provide a complete list of tuning recommendations, it does recommend tuning changes when upgrading an Exchange 2000 server to Exchange 2003.

Removing Exchange 2000 Tuning Parameters

Many Exchange 2000 tuning parameters (for example, those parameters listed in the technical article Microsoft Exchange 2000 Internals: Quick Tuning Guide), are no longer applicable in Exchange 2003; in fact, some of these parameters cause problems. If you previously tuned your Exchange 2000 servers by adding any of the settings listed in this section, you must manually remove them on your servers running Exchange 2003. The tools you use to remove those settings are Registry Editor, Internet Information Services Manager, and ADSI Edit. For information about how to use Registry Editor, Internet Information Services Manager, and ADSI Edit, see Windows Server Help.

Note

Incorrectly editing the registry can cause serious problems that may require you to reinstall your operating system. Problems resulting from editing the registry incorrectly may not be able to be resolved. Before editing the registry, back up any valuable data.

Initial Memory Percentage

The Initial Memory Percentage registry key no longer works with Exchange 2003. Therefore, use Registry Editor to delete the following registry parameter when Exchange 2003 is installed.

Location:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
\MSExchangeIS\ParametersSystem

Parameter:

Initial Memory Percentage (REG_DWORD)

Extensible Storage System Heaps

The optimum number of heaps is now automatically calculated with Exchange 2003. Therefore, use Registry Editor to delete the following registry parameter when Exchange 2003 is installed.

Location:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ESE98\Global\OS\Memory

Parameter:

MPHeap parallelism (REG_SZ)

DSAccess MaxMemoryConfig Key

If you previously tuned DSAccess performance by adding a MaxMemoryConfig key, that key is no longer recommended. Therefore, you should use Registry Editor to remove the following registry parameter when Exchange 2003 is installed.

Location:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
\MSExchangeDSAccess\Instance0

Parameter:

MaxMemoryConfig (REG_DWORD)

DSAccess Memory Cache Tuning

If you previously tuned the user cache in DSAccess, you can now remove your manual tuning. Exchange 2000 had a default user cache of 25 MB, whereas Exchange 2003 defaults to 140 MB. Therefore, you should use Registry Editor to remove the following registry parameter when Exchange 2003 is installed.

Location:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
\MSExchangeDSAccess\Instance0

Parameter:

MaxMemoryUser (REG_DWORD)

Outlook Web Access Content Expiration

You should not disable content expiry for the \Exchweb virtual directory. The default expiration setting of 1 day should be used in all scenarios. You can view and modify this setting in Internet Information Services Manager.

Log Buffers

If you previously tuned the msExchESEParamLogBuffers parameter manually [for example, to 9000 (an Exchange 2000 SP2 recommendation), or 500 (an Exchange 2000 SP3 recommendation)], clear the manual tuning. Exchange 2003 uses a default value of 500. Previously, Exchange 2000 used a default value of 84.

To return this setting to the default setting of <Not Set>, open the following parameter in ADSI Edit, and then click Clear.

Location:

CN=Configuration/CN=Services/CN=Microsoft Exchange/CN=<Exchange Organization Name>/CN=Administrative Groups/CN=<Administrative Group Name>/CN=Servers/CN=<Server Name>/CN=Information Store>/CN=<Storage Group Name>

Parameter:

msExchESEParamLogBuffers

Max Open Tables

If you tuned the msExchESEParamMaxOpenTables parameter manually, you should clear the manual tuning. When the value of the parameter is cleared, Exchange 2003 automatically calculates the correct value for you; for example, on an eight-processor server, a value of 27600 is used.

To return this setting to the default setting of <Not Set>, open the following parameter in ADSI Edit, and then click Clear.

Location:

CN=Configuration/CN=Services/CN=Microsoft Exchange/CN=<Exchange Organization Name>/CN=Administrative Groups/CN=<Administrative Group Name>/CN=Servers/CN=<Server Name>/CN=Information Store>/CN=<Storage Group Name>

Parameter:

msExchESEParamMaxOpenTables