Project Coconut Entries:

Sizing the Exchange Server 2007 Servers

In this post in the Project Coconut series I’ll describe the process that was undertaken for sizing the hardware that will run the Exchange Server 2007 servers.

Microsoft provides extensive guidance on how to calculate your hardware requirements for Exchange Server 2007. If you are embarking on an Exchange Server 2007 project you should familiarise yourself with these resources.

I certainly recommend you read the abovementioned resources, however here are some guidelines that I follow which outlining the bare minimum, recommended, and maximum configurations.

Note that CPU cores refer to modern, server class CPU cores (ie, not your 3 year old Pentium 4 desktop processor). Maximum figures represent the point at which you would consider adding more servers to continue scaling upwards. Although the maximum memory recommendations are below what 64-bit hardware and 64-bit Windows Server are capable of running, they represent the level at which adding more memory is not cost effective due to diminishing returns.

Client Access Server

Component Recommendation
CPU Minimum 1 CPU core
Recommended 4 CPU cores
Maximum 4 CPU cores
Memory Minimum 2Gb
Recommended at least 1Gb per CPU core
Maximum 16Gb
Storage Separate volumes for operating system and application files

Hub Transport Server

Component Recommendation
CPU Minimum 1 CPU core
Recommended 4 CPU cores
Maximum 8 CPU cores
Memory Minimum 2Gb
Recommended at least 1Gb per CPU core
Maximum 16Gb
Storage Separate volumes for operating system, application files, and transport queue.At least 4Gb (RTM) or 500Mb (SP1) free space on transport queue volume to avoid back pressure issues.

Mailbox Server

Component Recommendation
CPU Minimum 4 CPU cores
Memory Minimum 2Gb
Recommended at least 2Gb plus per-mailbox calculations
Maximum 32Gb
Storage Separate volumes for operating system, application files, storage group transaction logs, and mailbox databases.Use the Exchange Server 2007 storage calculator for sizing Mailbox server storage

As there are no Unified Messaging or Edge Transport servers involved in this project I have excluded them from this post.

Multi-Role Server

Although the above guidelines are fairly straight-forward, sizing a multi-role Exchange Server 2007 server is a slightly different story. The “Typical” installation of Exchange Server 2007 installs the Client Access, Hub Transport, and Mailbox server roles.

Component Recommendation
CPU Minimum 1 CPU cores
Recommended 4 CPU cores
Maximum 4 CPU cores
Memory Minimum 4Gb
Recommended at least 8Gb plus per-mailbox calculations
Maximum 32Gb
Storage Separate volumes for operating system, application files, transport queue, storage group transaction logs, and mailbox databases.At least 4Gb (RTM) or 500Mb (SP1) free space on transport queue volume to avoid back pressure issues.Use the Exchange Server 2007 storage calculator for sizing Mailbox server storage

Mailbox Server Memory Recommendations

In the tables above I mention “per-mailbox calculations” for servers that will hold the Mailbox Server role. What this means is that you plan for base amount of memory plus an amount of memory for each mailbox that will be hosted on the server.

The base amounts of memory are calculated using the Microsoft guidance here. Microsoft provides memory sizing guidance right up to the maximum (for Enterprise Edition) of 50 storage groups, but I will reproduce only the first few rows here.

# Storage Groups Exchange 2007 RTM Exchange 2007 SP1
1-4 2Gb 2Gb
5-8 4Gb 4Gb
9-12 6Gb 5Gb
13-16 8Gb 6Gb

Note that SP1 has some memory utilisation improvements as you scale to more storage groups compared to RTM.

In the case of Project Coconut we are planning for five storage groups, and using Exchange Server 2007 SP1, so the base memory amount is 4Gb.

To apply the per-mailbox memory sizing you use the following Microsoft guidance. Microsoft defines the different user types here.

User Type Recommendation
Light Minimum of 2Gb plus 2Mb per mailbox
Average Minimum of 2Gb plus 3.5Mb per mailbox
Heavy Minimum of 2Gb plus 5Mb per mailbox

For Project Coconut we have profiled the users as “Average”, and there are approximately 1000 of them. We also want to provide scalability up to around 1250 users. So, 1300 x 3.5Mb = 4550, divided by 1024 = 4.4Gb.

Base memory for a multi-roled server of 4Gb plus 4.4Gb for up to 1300 mailbox users and rounding it up to an even number brings us to a memory sizing of 9Gb. Both the production and standby servers will be provisioned with this amount of memory.

Storage Recommendations

The recommendations for most server roles are simple – separate the operating system from the application files, and on Hub Transport servers separate the Transport Queue from any other volumes if possible (this is more important in very large environments than it is in smaller environments).

For mailbox servers there is a lot more to consider, so have a read of my post on designing mailbox server storage.

In the next part of Project Coconut I’ll describe the process for introducing the first Exchange Server 2007 server into an existing organisation.

About the Author

Paul Cunningham

Paul is a former Microsoft MVP for Office Apps and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul no longer writes for Practical365.com.

Comments

Leave a Reply