Configuring Exchange Server 2010 for Best Performance and Scalability

Generally, the maximum level performance for a server is determined by the component that has the lowest performance—the bottleneck in the system. The key to improving performance is being able to identify bottlenecks, determine their cause, and take the appropriate corrective action.

Processor Performance

Exchange 2010 benefits significantly when running on multi-core processors.

Recommended Load – The processor usage on a server should maintain a load of about 60 percent during peak working hours. This percentage level allows room for periods of extreme load.

Bottleneck – If the processor usage is consistently greater than 75 percent, processor performance is considered a bottleneck.

Selecting the Appropriate Processor

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 running 64-bit editions of Windows Server 2008 or Windows Server 2008 R2.

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.

Virtual Deployments

The CPU overhead associated with running a guest operating system in a virtual machine was found in testing to range between 9 percent and 12 percent. For example, a guest operating system running on a virtual machine typically had available 88 percent to 91 percent of the CPU resources available to an equivalent operating system running on physical hardware. It is recommended to reduce the user capacity of Mailbox servers by 10 percent to account for hypervisor processor overhead.

Processor configurations for Exchange 2010 server roles

Exchange 2010 Server Role No. of Recommended Processor Cores Notes
Edge Transport 12  
Hub Transport 12 A configuration for the Hub Transport server role of 8 x processor cores is recommended 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 tools. 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 12 In Exchange 2010 architecture, most of the client-specific functions have been moved from the Mailbox server to the Client Access server. In Exchange 2010, messages are converted on the Client Access server when they’re accessed by a non-MAPI client (for example, POP3 and IMAP4 clients). In addition, rendering for Microsoft Office Outlook Web App is performed on the Client Access server, as opposed to the Microsoft Exchange Information Store service in previous versions of Exchange.

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

Note:

Recommendations based on Unified Messaging being deployed with the default configuration that includes Voice Mail Preview enabled.

12 A configuration for the Unified Messaging server role of 8 x processor cores is recommended. 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 12 The recommendation 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.
Client Access/Hub Transport combined role (Client Access and Hub Transport roles running on the same physical server) 12  
Multiple role (Client Access, Hub Transport, and Mailbox server roles running on the same physical server) 24 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 x processor cores, it is not recommended.

For more information about how different processors perform, see Understanding Processor Configurations and Exchange Performance.

Memory Performance

Exchange 2010 on the 64-bit editions of the Windows Server 2008 operating system can efficiently utilize upwards of 64 GB of memory (Mailbox server role).

Different server architectures have different memory limits. It is recommended 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

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 maximum
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-30 MB additional memory per mailbox:

The total required memory is based on the user profile and database cache size.

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) 8 GB 4 GB plus 3-30 MB additional memory per mailbox:

The total required memory is based on the user profile and database cache size.

For more information about how different memory configurations perform, see Understanding Memory Configurations and Exchange Performance.

Network Performance

For Mailbox servers, gigabit Ethernet (1,000 megabits per second (Mbps) or 1 gigabit per second (Gbps)) is recommended.

Multiple switched fast Ethernet networks of gigabit Ethernet connections are recommended.

Storage Performance

Physical Disk Types

Supported physical disk types

Physical disk type Description Supported/best practices
SATA Serial ATA (SATA) is a serial interface for ATA and integrated device electronics (IDE) disks. SATA disks are available in a variety of form factors, speeds, and capacities.

In general, choose SATA disks for Exchange 2010 mailbox storage when you have the following design requirements:

  • High capacity
  • Moderate performance
  • Moderate power utilization
Supported: 512 byte sector disks only. 4KB sector disks, including those which use 512-byte emulation, are currently not supported.

Requires battery backed caching array controller for optimal data reliability and I/O performance. Physical disk-write caching must be disabled when used without an uninterruptable power supply (UPS). When considering SATA disks, we recommend considering Enterprise class SATA disks, which generally have better heat, vibration, and reliability characteristics.

SAS SAS is a serial interface for Small Computer System Interface (SCSI) disks. SAS disks are available in a variety of form factors, speeds, and capacities.

In general, choose SAS disks for Exchange 2010 mailbox storage when you have the following design requirements:

  • Moderate capacity
  • High performance
  • Moderate power utilization
Supported: 512 byte sector disks only. 4KB sector disks, including those which use 512-byte emulation, are currently not supported.

Physical disk-write caching must be disabled when used without a UPS.

Fibre Channel (FC) FC is an electrical interface used to connect disks to Fibre Channel-based SANs. FC disks are available in a variety of speeds and capacities.

In general, choose FC disks for Exchange 2010 mailbox storage when you have the following design requirements:

  • Moderate capacity
  • High performance
  • SAN connectivity
Supported: 512 byte sector disks only. 4KB sector disks, including those which use 512-byte emulation, are currently not supported.

Physical disk-write caching must be disabled when used without a UPS.

Solid-state drive (SSD) (flash disk) An SSD is a data storage device that uses solid-state memory to store persistent data. An SSD emulates a hard disk drive interface. SSD disks are available in a variety of, speeds (different I/O performance capabilities) and capacities.

In general, choose SSD disks for Exchange 2010 mailbox storage when you have the following design requirements:

  • Low capacity
  • Extremely high performance
Supported: 512 byte sector disks only. 4KB sector disks, including those which use 512-byte emulation, are currently not supported.

Physical disk-write caching must be disabled when used without a UPS.

In general, Exchange 2010 Mailbox servers don’t require the performance characteristics of SSD storage.

Database and log file choices for the Exchange 2010 Mailbox server role

Database and log file options Description Stand-alone: supported/best practices High availability: supported/best practices
File placement: Database/log isolation Database/log isolation refers to placing the database file and logs from the same mailbox database onto different volumes backed by different physical disks. Best practice: For recoverability, move database file (.edb) and logs from the same database to different volumes backed by different physical disks. Isolation of logs and databases isn’t required.
File placement: Database files/volume Database files/volume refers to how you distribute database files within or across disk volumes. Best practice: Based on your backup methodology. Supported: When using JBOD, divide a single disk into two volumes (one for database, one for log stream).
File placement: Log streams/volume Log streams/volume refers to how you distribute database log files within or across disk volumes. Best practice: Based on your backup methodology. Supported: When using JBOD, divide a single disk into two volumes (one for database, one for log stream).

Best practice: When using JBOD, single database per log per volume.

Database size The on disk database file size (.edb). Supported: Approximately 16 terabytes (TB)

Best practice:

  • 100 gigabytes (GB) or less.
  • Provision for 120 percent of calculated maximum database size
Supported: Approximately 16 TB

Best practice:

  • 2 TB or less.
  • Provision for 120 percent of calculated maximum database size.
Log truncation method The process for truncating and deleting old database log files. There are two mechanisms:

  • Circular logging, in which Exchange deletes the logs.
  • Log truncation, which occurs after a successful full or incremental Volume Shadow Copy Service (VSS) backup.
Best practice:

  • Use backups for log truncation (for example, circular logging disabled).
  • Provision for three days of log generation capacity.
Best practice:

  • Enable circular logging for deployments that use Exchange 2010 data protection features.
  • Provision for three days beyond replay lag setting of log generation capacity.
 
 
 

2 thoughts on “Configuring Exchange Server 2010 for Best Performance and Scalability”

  1. Good information. We are planning to Migrate from Exchange 2007 to Exchange 2010 shortly and would like to deploy on Hyper-V R2. Can you provide few best practices for deploying Exchange 2010 on Hyper-V R2

  2. Hey, I think your site might be having browser compatibility issues.
    When I look at your website in Firefox, it
    looks fine but when opening in Internet Explorer, it has some overlapping.

    I just wanted to give you a quick heads up! Other
    then that, wonderful blog!

Leave a Comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s