Exchange 2010 Sizing Cheat Sheet

by [Published on 2 Feb. 2012 / Last Updated on 2 Feb. 2012]

How to correctly size the different Exchange Server 2010 roles.

Introduction

Planning an enterprise messaging infra-structure with Microsoft Exchange Server 2010 can be more or less complex, depending on several factors, like the size of the organization, services to be implemented, security policies, volume of information and so on.

Sizing the servers it’s just a small part of the whole process, but is without a doubt, one of the more important tasks involved.

As I said in the article I wrote for Exchange Server 2007, the present article is not intended to be a deep technical dive into sizing an Exchange infrastructure. Instead, it’s just a collection of rules of thumb that will, hopefully, speed up this specific part of the planning process of the different Exchange server roles.


Figure 1: Exchange 2010 Server Roles

General Guidelines

Although CPU and memory play a crucial role in performance, increasing any of these 2 doesn’t necessarily mean a faster system. The following table shows the recommend memory and CPU for single role servers and for multiple role servers:

Role

Recommended
Max Processor Configuration

Recommended
Processor Configuration

Recommended
Max Memory Configuration

Recommended Memory Configuration

Hub Transport

12 cores

4 cores

16GB

1 GB per core or 8GB (minimum)

Client Access Server

 12 cores

8 cores

16GB

2GB per core or 8GB (minimum)

Mailbox

12 cores

8 cores

64GB

4GB plus 2-10MB per mailbox

Unified Messaging

12 cores

8 cores

16GB

2GB per core or 4GB (minimum)

Multiple Role Server

24 cores

8 cores

64GB

8GB plus 2-10MB per mailbox

Table 1

There are also some role ratio guidelines that should be met:

CAS : Mailbox

§  3 : 4

HUB : Mailbox

§  1 : 7 (no A/V on Hub)

§  1 : 5 (with A/V Hub)

GC : Mailbox

§  1 : 4 (32–bit GC)

§  1 : 8 (64-bit GC)

Table 2

Mailbox Role

Let’s start by the Mailbox server role, since this is the king of all roles. It’s one of the three mandatory roles (the other ones are CAS and Hub) and it’s where all the user data will be stored.

Before entering technical details, I strongly advise you to use the Exchange 2010 Mailbox Server Role Requirements Calculator to size the Mailbox role. If you prefer to do it manually, then continue reading.

User profile usually determines resource requirements, but you should take into account some factors that influence sizing, such as:

  • Number of mailboxes
  • Security/auditing mechanisms
  • Use of mobile devices
  • Outlook mode (online/cached)
  • Archiving/Messaging Record Management
  • High Availability (DAG)

CPU

  • Estimated Per-Mailbox CPU Consumption:

Messages Sent+Received
per mailbox per day
(~75KB average message size)

Megacycles for active or stand-alone mailbox
(increase by 10% for each passive copy)

Megacycles for passive mailbox

50

1

.15

100

2

.3

150

3

.45

200

4

.6

250

5

.75

300

6

.9

350

7

1.05

400

8

1.2

450

9

1.35

500

10

1.5

Table 3

Memory

To size the necessary amount of RAM, first determine the amount of required database cache by multiplying the mailbox count by the memory requirements based on the user profile. The following table provides estimated values of database cache per mailbox, based on message activity:

Messages Sent+Received
per mailbox per day
(~75KB average message size)

Database cache per mailbox (MB)

50

3

100

6

150

9

200

12

250

15

300

18

350

21

400

24

450

27

500

30

Table 4

After determining the database cache size, the next step is to determine the necessary RAM per server to ensure the database cache size requirements can be met.

Server Installed Physical Memory

Database Cache Size (Mailbox Role Only)

Database Cache Size (Multi-role)

2GB

512MB

Not supported

4GB

1GB

Not supported

8GB

3.6GB

2GB

16GB

10.4GB

8GB

24GB

17.6GB

14GB

32GB

24.4GB

20GB

48GB

39.2GB

32GB

64GB

53.6GB

44GB

96GB

82.4GB

68GB

Table 5

For example:

  1. 1000 users with the 50 profile (3MB per mailbox): 1000 x 3MB = 3GB
  2. 3GB fits in 3.6GB default cache
  3. Deploy 8GB of RAM

Network

  • 1 x Gbit minimum
  • DAG - each server should have at least two networks: a single MAPI network and a single Replication network.

Disk

The storage for the Mailbox role must be sized for

  • Capacity (GB)
  • Performance (IOPS)

Capacity is sized based on user mailbox size (read Understanding Mailbox Database and Log Capacity Factors for details on required overhead).

Mailbox Size = Mailbox Limit + Whitespace + Dumpster

Performance sizing is based on user profile (message activity).

Database Volume I/O = Number of Mailboxes x IOPS Profile

The following table provides per mailbox estimated IOPS based on user profile and message activity

Messages Sent+Received
per mailbox per day
(~75KB average message size)

Estimated IOPS: Single database copy

Estimated IOPS: Multiple database copies

50

.060

.050

100

.120

.100

150

.180

.150

200

.240

.200

250

.300

.250

300

.360

.300

350

.420

.350

400

.480

.400

450

.540

.450

500

.600

.500

Table 6

Hub & Edge Role

CPU

With A/V and A/S

Without A/V and A/S

Recommended processor cores / server

8

4

Hub Cores : mailbox server cores

ratio

1:5

1:7

Table 7

Memory

  • 4GB min, 8GB max
  • 1GB/core

Disk

  • Use battery-backed write cache disk controller
    o    Disk I/O can be a bottleneck on an un-tuned Hub
    o    Log I/O becomes virtually free with a BBWC controller
  • Size storage capacity for queue requirements
  • Capacity = average message size x maximum queue
  • Separate mail.que and logs from system disks (RAID 10)
  • Back Pressure:500 MB minimum free space

Network

  • Gbit recommended

CAS Role

  • CPU and memory are key for CAS
  • Performance impact on CAS server is dependent on user profiles and mix of workloads
  • CPU and memory scale guidance for CAS based on assumptions of a mixed-protocol heavy information worker profile
    o    Consider other workloads and adjust
    o    Remember all MAPI traffic now affects CAS
  • Use Windows Server 2008 R2 for best CAS scale
    o    Major improvements in rpcproxy (Outlook Anywhere)

CAS Workload Relative Cost Comparison

Workload

CPU Cost (MHz/user)

Network Cost (Kbytes/sec/user)

Outlook

0.35

0.37

Outlook Anywhere

0.80

0.44

Exchange ActiveSync
(delta from Outlook)

1.60

1.04

Exchange Web Services (Microsoft Entourage)

0.71

0.54

Outlook Web Access

0.86

0.88

IMAP4*

0.86

0.14

POP3*

0.33

0.79

Table 8

CPU

  • 2 core minimum
  • Up to 12 cores
  • 3:4 CAS:Mailbox cores

Memory

  • 2GB/core
  • 8GB min, 16GB max

Disk

  • There are no special needs regarding the disk subsystem

Network

  • Gbit recommended

UM Role

  • CPU and network are key for UM
  • Scale out UM servers based on concurrent call requirements
  • Size CPU based on requirements for Voice Mail Preview:~1 message/min/core
  • 2-socket platform best for perf/TCO
  • Default 100 concurrent calls/server (inbound or outbound)

CPU

  • 2 core minimum
  • Up to 12 cores

Memory

  • 2GB/core (4GB minimum)
  • 8GB maximum

Disk

  • UM doesn’t have significant storage requirements

Network

  • Gbit recommended

Virtualization

Since virtualization is becoming popular in Exchange deployments, here are a few guidelines and recommendations:

Validating the Solution

Before putting your newly sized servers in production, maybe you want to spend some time validating the deployed configuration. There are some tools from Microsoft that can help you with that task:

  1. Microsoft Exchange Server Jetstress2010 – Jetstress simulates the Exchange database and log file loads produced by a specific number of users, thus allowing you to verify the performance and stability of your disk subsystem before putting your server into a production environment.
  2. Exchange Load Generator - The Load Generator (LoadGen) tool is designed to produce a simulated client workload against a test Exchange deployment. This workload can be used to evaluate how Exchange performs, and can also be used to analyze the effect of various configuration changes on Exchange behavior and performance while the system is under load. The documentation for LoadGen describes how to configure and execute a load test against an Exchange server. LoadGen is capable of simulating Microsoft Office Outlook 2003 (online and cached), Outlook 2007 (online and cached), POP3, IMAP4, SMTP, ActiveSync, and Outlook Web App client activity. It can be used to generate a single-protocol workload, or these client protocols can be combined in some form to generate a multi-protocol workload.
  3. Exchange Server Profile Analyzer - Use the Microsoft Exchange Server Profile Analyzer tool to collect estimated statistical information from a single mailbox store or across an Exchange Server organization. The collected data can be used for such tasks as analyzing the performance and health of a server that has mailboxes, improving capacity planning models, and improving testing methodologies and tools.
  4. Performance Monitor – Part of the Operating System,PerfMon uses the Exchange performance objects to retrieve counter information, provides information that allows you to gauge the health of your messaging solution.

Third-Party Tools

Nowadays, most of major hardware vendors have tools that facilitate the sizing process of the whole messaging infrastructure. Below you can find some of these tools from 2 of those hardware vendors (descriptions taken from the vendors’ website).

  • Dell Exchange 2010 Advisor – The Dell Exchange Advisor tool is subject to change without notice and is provided as-is without warranty of any kind, express or implied. Dell does not make any representations regarding the use, validity, accuracy or reliability of the tool or the results of the use of the Tool. The entire risk arising out of the use of this tool remains solely with the customer. In no event shall Dell be liable for any direct, consequential, incidental, special, punitive or other damages, even if Dell is negligent or has been advised of the possibility of such damages, arising from use of the tool or the information provided herein. This tool is not for use by or for Individual/Consumer purposes.
  • HP Sizer for Microsoft Exchange Server 2010 - Microsoft® Exchange Server 2010 is a complex application that requires intensive knowledge of deployment strategies, interdependencies, server and storage performance related issues. HP has developed the HP Sizer for Microsoft Exchange Server 2010 to assist customers with proper server and storage sizing for their Exchange Server 2010 deployments. The algorithms developed and implemented in this tool are based upon extensive testing of Exchange Server 2010 server roles and technologies, HP’s deep experience with Microsoft Exchange, and intricate knowledge of server CPU, memory, and I/O subsystems. This tool is free to download and use, and is designed to simplify configuration across a broad range of deployments. This newest Microsoft Exchange Server Sizer provides support for multiple site deployments, varied client types and access methods, all Exchange Server 2010 server roles, Database Availability Group (DAG) high availability options, choice of tower, rack mounted, or HP BladeSystem server platforms, and either direct attached or SAN-based storage solutions. Based on your input, the tool provides a comprehensive bill of materials along with a deployment overview of the Exchange Server 2010 server roles and storage configurations. Once this Sizer is installed, updates can be downloaded automatically to the underlying software engines that are necessary to provide support for HP server and storage product information details.

Conclusion

Exchange sizing and performance tuning can be a complex job, fortunately there are several tools provided by Microsoft and third-parties that can assist you with that task. Although manually sizing an Exchange infra-structure can be fun, my advice is to use all the technical tools available, but always with the vague knowledge of the algorithms that support them.

Related Links

The Author — Rui Silva

Rui Silva avatar

Rui Silva specializes in Unified Communications and Enterprise Cloud solutions, using Microsoft technologies, with a proven track record of 15+ years experience working with some of the biggest companies in Portugal and Western Europe. Rui can often be found in the cloud or on-premises contributing to the Technical Community through blogging, writing articles or with a presence in the social networks.

Latest Contributions

Advertisement

Featured Links