Posts Tagged Exchange 2010 Performance

Technet: Understanding Processor Configurations and Exchange Performance

Posted by on Thursday, 1 April, 2010

This is a post of technet. Because it is so important, I have a copy on my blog.

Three of the most critical factors to consider when selecting hardware for use by Microsoft Exchange Server 2010 are choice of processor, amount of memory, and selection of storage. This topic provides guidelines for processor configurations that provide good performance and a strong platform for Exchange Server. For detailed guidance and recommended configurations for memory, see Understanding Memory Configurations and Exchange Performance. For more information on selecting storage, see Understanding Storage Configuration.

 Selecting the Appropriate Processor

For production environments, you must choose a processor that will work with the x64-based version of Windows Server.

The release to manufacturing (RTM) version of Exchange 2010 is only supported in production environments when the x64 version of Exchange 2010 is installed on a computer with x64-compatible processors that is running the Windows Server 2008 x64 Edition or Windows Server 2008 R2 operating systems.

You can select processors from Intel that support Intel Extended Memory 64 Technology or processors from AMD that support AMD64. For more information about these processor options, see the Intel 64 Architecture Web site or the AMD Opteron Processor Family Web site at http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_8825,00.htm.

Exchange 2010 is designed to run only on x64-capable processors such as those listed previously, and it will not run on Itanium-based systems.

Regardless of which processor you choose, the server product must have the Designed for Windows logo to be supported. For more information, see Windows Logo Program: Overview. To ensure support, you must select a server that is listed in the Windows Server Catalog. If your server isn’t listed, you should verify with the hardware vendor that testing is in progress.

 Hyper-Threading

Hyper-threading causes capacity planning and monitoring challenges, and as a result, the expected gain in CPU overhead is likely not justified. Hyper-threading should be disabled by default for production Exchange servers and only enabled if absolutely necessary as a temporary measure to increase CPU capacity until additional hardware can be obtained.

 Recommended Processor Configurations

You can use the following table to assist you in purchasing server hardware for Exchange 2010. This table provides minimum requirements, recommended requirements, and recommended maximum configurations for Exchange 2010.

Dd346699.note(en-us,EXCHG.140).gifNote:
The following guidance assumes an average concurrency profile. Concurrency is defined as the percentage of the total number of users on a server that are connected and using the server at a specific peak period of time. For a fully utilized server, concurrency is generally in the 75 to 80 percent range.

The following describes the minimum requirements, recommended maximum requirements, and recommended maximum configurations:

  • Minimum   This is the minimum processor and memory configuration suitable for specific server roles. The minimum hardware requirements must be met to receive support from Microsoft Product Support Services.
  • Recommended Maximum   This is the maximum recommended processor and memory configuration for specific server roles. Maximum is defined as the upper bound of viable processor and memory configurations based on price and performance. The recommended maximum configuration is a guideline. It isn’t a support criterion, and it doesn’t take into account the resource requirements of third-party applications that might access or be installed on the server. The recommended maximum configuration may change over time based on price changes and technology advancements.

    Processor configurations for Exchange 2010 server roles

    Exchange 2010 server role Minimum Recommended maximum
    Edge Transport 1 x processor core 12 x processor cores
    Hub Transport 1 x processor core 12 x processor cores
    Client Access 2 x processor core 12 x processor cores
    Unified MessagingNote   Recommendations based on Unified Messaging being deployed with the default configuration which includes Voice Mail Preview enabled. 2 x processor core 12 x processor cores
    Mailbox 2 x processor core 12 x processor cores
    Client Access/Hub Transport combined role (Client Access and Hub Transport roles running on the same physical server) 2 x processor core 12 x processor cores
    Multiple role (Client Access, Hub Transport, and Mailbox server roles running on the same physical server) 2 x processor cores 24 x processor cores
Dd346699.note(en-us,EXCHG.140).gifImportant:
Some server virtualization platforms may not support the maximum number of processors identified in the preceding table. If you’re planning to deploy Exchange server roles on a virtualization platform, please check the documentation for that platform to determine the maximum number of supported virtual processors.
Dd346699.note(en-us,EXCHG.140).gifNote:
Ratings available at the Standard Performance Evaluation Corporation Web site may be used to rationalize unlike processor and server configurations.
 Transport Server Roles

The recommended configuration for the Hub Transport server role is 8 x processor cores in organizations where Hub Transport servers are deployed with several Mailbox servers and thousands of mailboxes. Servers with larger processor cores can be efficiently used when the Hub Transport server is configured to use antivirus and anti-spam. Processor utilization is based on several factors such as message rate, average message size, number of enabled transport agents, antivirus configuration, and third-party applications.

 Client Access Server Role

Exchange 2010 architecture has moved most of the client-specific functions from the Mailbox server to the Client Access server. In Exchange 2010, messages are converted on the Client Access server when they are accessed by a non-MAPI client (for example, POP3 and IMAP4 clients). In addition, rendering for Microsoft Outlook Web Access is performed on the Client Access server, as opposed to the Microsoft Exchange Information Store service in previous versions of Exchange Server.

These architectural changes allow the Client Access server to offload significant processing from the Mailbox server and to effectively utilize 8 x processor cores. Servers with 2 x processor cores can be utilized for Client Access servers in organizations where there aren’t enough mailboxes or insufficient non-MAPI client traffic to warrant using 4 x processor core servers.

 Unified Messaging Server Role

The recommended configuration for the Unified Messaging server role is 8 x processor cores. Multiple cores are used on the Unified Messaging server for several architectural functions such as .wav to Microsoft Windows Media Audio (WMA) conversions for voice mail messages. Servers with 2 x processor cores can be used for Unified Messaging servers in organizations where there aren’t enough mailboxes or insufficient Unified Messaging server activity to warrant using 4 x processor core servers.

 Mailbox Server Role

The recommended configuration for the Mailbox server role is based predominantly on mailbox count and user profile. A 4 x processor core server provides a good balance between price and performance, and it should be able to host several thousand mailboxes. Sizing for the Mailbox server requires an understanding of the average client user profile. This profile can be collected using transport performance counters that indicate overall message throughput within an Exchange system. You can use the Microsoft Exchange Server Profile Analyzer or third-party tools.

For more information about processor requirements for specific user profiles (based on message throughput), see Mailbox Server Processor Capacity Planning.

 Multiple Role Server

As a general guideline, a multiple role server should be sized to use half of the available processor cores for the Mailbox role and the other half for the Client Access and Hub Transport roles. The maximum recommended processor core configuration is listed at 24 x processor cores for the multiple server roles configuration to indirectly provide guidance on the maximum number of users that should be hosted on a multiple role server. Although this configuration can use more than 24 processor cores, we don’t recommend this. For more information, see Understanding Multiple Server Role Configurations in Capacity Planning. For more information on the combined Hub Transport and Client Access server roles, see Understanding Client Access and Hub Transport Combined Role Configurations in Capacity Planning.

 Virtual Deployments

The CPU overhead associated with running a guest operating system in a virtual machine was found in testing to range between 9 and 12%. For example, a guest operating system running on a virtual machine typically had available 88-91% of the CPU resources available to an equivalent operating system running on physical hardware. We recommend reducing the user capacity of mailbox role servers by 10% to account for hypervisor processor overhead.

Source: http://technet.microsoft.com/en-us/library/dd346699.aspx

Technet: Understanding Memory Configurations and Exchange Performance

Posted by on Thursday, 1 April, 2010

This is a post of technet. Because it is so important, I have a copy on my blog.

This topic provides guidelines for memory configurations that provide good performance and a strong platform for Microsoft Exchange Server 2010. For detailed guidance and recommended configurations for processors, see Understanding Processor Configurations and Exchange Performance.

When selecting hardware for Exchange 2010, we recommend that you consider the server maximum memory configuration. Different server architectures have different memory limits. We recommend that you check the following technical specifications of the server to determine the most cost-efficient maximum memory configuration for your servers:

  • Memory speed   Some server architectures require slower memory modules to scale to the maximum supported amount of memory in a specific server. For example, maximum server memory could be limited to 32 GB with PC3 10666 (DDR3 1333) or 128 GB using PC2 6400 (DDR2 800). You should check with the manufacturer to ensure that the memory configuration target for Exchange 2010 is compatible in terms of speed.
  • Memory module size   Consider the largest memory module size that the server will support. Generally, the larger the memory module, the more expensive. For example, two 2 GB DDR SDRAM memory modules generally cost much less than one 4GB DDR SDRAM memory module and two 4 GB DDR SDRAM memory modules generally cost much less than one 8GB DDR SDRAM memory module. Make sure the maximum memory module size allows you to meet your target memory requirements for Exchange 2010.
  • Total number of memory slots   Consider how many memory modules that a specific server will support. The total number of slots multiplied by the maximum memory module size provides the maximum memory configuration for the server. Keep in mind that memory modules must sometimes be installed in pairs.

Be aware that some servers experience a performance improvement when more memory slots are filled, while others experience a reduction in performance. Check with your hardware vendor to understand this effect on your server architecture.

 Recommended Memory Configurations

After the number of processor cores estimated to be required per server role is understood, baseline memory recommendations can be applied. The following table illustrates the minimum supported and recommended memory configurations for Exchange 2010 server roles.

The following describes the minimum requirements and recommended maximum configurations:

Minimum Supported   This is the minimum memory configuration suitable for Exchange 2010 servers. The minimum hardware requirements must be met to receive support from Microsoft Customer Service and Support.

Recommended Maximum   This is the recommended memory configuration for Exchange 2010 servers. Recommended is defined as the best configuration based on price and performance.

The following table shows the minimum supported and recommended maximum memory configurations for Exchange 2010.

Memory configurations for Exchange 2010 servers based on installed server roles

Exchange 2010 server role Minimum supported Recommended
Edge Transport 4 GB 1 GB per core (4 GB minimum)
Hub Transport 4 GB 1 GB per core (4 GB minimum)
Client Access 4 GB 2 GB per core (8 GB minimum)
Unified Messaging 4 GB 2 GB per core (4 GB minimum)
Mailbox 4 GB 4 GB plus 3-30MB/mailbox:This variable is based on the user profile. For more details, see “Mailbox Server Role” later in this topic.
Client Access/Hub Transport combined role (Client Access and Hub Transport server roles running on the same physical server) 4 GB 2 GB per core (8 GB minimum)
Multiple roles (combinations of Hub Transport, Client Access, and Mailbox server roles) 10 GB 10 GB plus 3-30 MB per mailbox (4 core server)14 GB plus 3-30 MB per mailbox (8 core server)18 GB plus 3-30 MB per mailbox (12 core server)22 GB plus 3-30 MB per mailbox (16 core server)30 GB plus 3-30 MB per mailbox (24 core server)This is variable based on the user profile. For more details, see “Mailbox Server Role” later in this topic.
 Edge Transport and Hub Transport Server Roles

The Edge Transport and Hub Transport server roles don’t require substantial quantities of memory to perform well in optimal conditions. Generally, 1 GB of RAM per processor core (4 GB minimum total) is sufficient to handle all but the most demanding loads. Most deployments will be optimally configured with the recommended memory configuration of 1 GB per processor core (4 GB minimum total).

 Client Access Server Role

In general, memory utilization on Client Access servers has a linear relationship with the number of client connections and the transaction rate. Based on the current recommendations of 2 GB per core processor and memory configurations, a Client Access server will be balanced in terms of memory and processor utilization, and it will become processor-bound at approximately the same time it becomes memory- bound.

These recommendations are based on the Exchange 2010 feature, RPC Client Access. This feature requires a larger memory and processor configuration to manage the increased loads placed on the Client Access server role.

 Mailbox Server Role

The memory configuration process for the Mailbox server role is more complex than the other roles because the optimal memory configuration depends upon the server roles installed, the mailbox count, the client profile (similar to estimating processor core requirements), and the number of active databases.

Memory sizing for the Mailbox server role is critical to reducing disk input/output (I/O) on the server. The more memory you add to the Mailbox server, the less disk I/O will be generated by Exchange. There is, however, a point of diminishing returns at which adding memory to the server may not be justifiable based on price and performance. The recommendations discussed in “Recommended Memory Configurations” earlier in this topic consider this point of diminishing returns and are based on current memory prices and performance metrics.

For more information about how to perform appropriate memory sizing for the Mailbox server role, see the following topics:

 Multiple Server Roles

When determining memory requirements for multiple role server configurations, you need to consider the requirements of Hub Transport, Client Access, and Mailbox server roles. To assist you, we have provided the calculated memory requirements in the preceding table. For additional information, see “Memory Recommendations for Multiple Role Servers” in Understanding Multiple Server Role Configurations in Capacity Planning.

Source: http://technet.microsoft.com/en-us/library/dd346700.aspx