Exchange 2007 Sizing Cheat Sheet

by [Published on 12 Aug. 2008 / Last Updated on 12 Aug. 2008]

How to correctly size the different Exchange Server 2007 roles.

Introduction

Implementing a complete Exchange 2007 solution requires not only good planning, but also a good understanding of all the technical requirements and a good knowledge of the several Exchange Server roles.

Sizing an Exchange 2007 Organization is not for the faint of the heart, although I consider it much easier than doing it for the previous versions of Exchange Server.

A correctly sized infrastructure will improve the general reliability of the system and the levels of service (meaning happy users), rationalizing the use of hardware (and money).

This article does not intend to be a deep technical dive into the sizing process, instead it will give you some rules of thumb in order to ease the process of planning the different Exchange Server 2007 roles of your messaging infrastructure.


Figure 1:
Exchange High-Level Architecture

Mailbox Role

The Mailbox server role is probably the most important server in your messaging infrastructure, because in the event of a bottleneck the users will start to experience immediately its effects.

Knowing in advance your environment can help you predict your real needs in terms of hardware, but if for any reason you cannot establish a baseline, you should take into account some factors that influence sizing, such as:

  • Number of mailboxes
  • Mailbox average size
  • User profiles
  • Security/auditing mechanisms
  • Use of mobile devices (Blackberry included)
  • Outlook mode (online/cached)
  • Archiving/Messaging Record Management
  • High Availability Model (CCR, LCR, SCR)
  • Cache Warming

You can use the following table that categorizes users in 4 different types.

User type

Send/receive per day (50K messages)

Database cache / user

Estimated IOPS/user

Logs Generated/Mailbox (50Kb msg)

Light

5 sent / 20 received

2 MB

0.11

6

Medium

10 sent / 40 received

3.5 MB

0.18

12

Heavy

20 sent / 80 received

5 MB

0.32

24

Very heavy

30 sent / 120 received

5 MB

0.48

36

These are the sizing guidelines for the Mailbox server role:

CPU

  • 1 processor core for every 1,000 light/medium user mailboxes
  • 1 processor core for every 500 heavy user mailboxes
  • 8 cores maximum

Memory

  • 2GB + 2 to 5MB/mailbox (depends on user profile, see table above)
  • 32GB maximum recommended (point of diminishing returns in terms of both cost and performance)
  • The minimum memory required also depends on the number of storage groups:

Number of

Storage Groups

Exchange 2007

RTM

Exchange 2007

SP1

1-4

2GB

2GB

5-8

4GB

4GB

9-12

6GB

5GB

13-16

8GB

6GB

17-20

10GB

7GB

21-24

12GB

8GB

25-28

14GB

9GB

29-32

16GB

10GB

33-36

18GB

11GB

37-40

20GB

12GB

41-44

22GB

13GB

45-48

24GB

14GB

49-50

26GB

15GB

Network

  • 1 x Gbit minimum
  •  With CCR use separate NICs for public and private networks

Disk

  • Use the Exchange 2007 Mailbox Server Role Storage Requirements Calculator!
  • If you want to do it the hard way by not using the calculator from the point above, take these points into consideration:
  • Balance I/O performance and Capacity
  • Add 5% onto database LUN size for Content Indexing
  • Add 10% onto database LUN size for Overhead / white space
  • The default Deleted Items retention period (14 days) adds up to 30% in the database LUN
  • Take SLA factors into account (database recovery time, backup window, etc.)
  • Target for 100GB of maximum database size

Hub Role

The factors that influence sizing for the Hub Transport role are:

  • Mail queue stored in JET database
  • CCR (Transport Dumpster)
  • Message rate
  • Message tracking
  • Average message size
  • Number of enabled transport agents
  • Antivirus and third-party applications
  • Journaling

CPU

  • 1 or 2 processor core configurations can be considered for small organizations
  • Medium/Large organizations:

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

Memory

  • 2GB min, 16GB max
  • 1GB/core
  • Large queue scenarios
  • Per message overhead: 3KB
  • Per recipient overhead: 1KB
  • Edgesync overhead (>tens of thousands of mail-enabled objects)
  • 4K per mail-enabled object

Disk

  • Capacity = average message size x maximum queue
  • Separate mail.que and logs from system disks (RAID 10)
  • Transport dumpster impact (sites with CCR/LCR)
  • Capacity consumed by the transport dumpster = number of storage groups x maximum transport dumpster size
  • Back Pressure:
  • RTM: 4GB minimum free space
  • SP1: 500 MB minimum free space

Hub Transport I/O (steady state)

Transport Dumpster Enabled

Transport Dumpster Disabled

Total IOPS/message (~40KB)

17

4

Log Write IOPS/message (sequential)

7

2

Database Write IOPS/message (random)

7

2

Database Read IOPS/message (random)

3

0

Network

  • Gbit recommended

CAS Role

When sizing the CAS role, take these factors into account:

  • Number of non-MAPI clients (message conversion occurs at the CAS server)
  • OWA rendering
  • Enabled services:
  • IMAP, POP3
  • Outlook Anywhere
  • Exchange ActiveSync
  • Web services: AutoDiscover, Availability, OOF
  • OAB distribution

CPU

  • Up to 4 cores
  • 1:4 CAS:Mailbox cores

Memory

  • 2GB/core
  • 16 GB max

Disk

  •  There are no special needs regarding the disk subsystem

Network

  • Gbit recommended

Edge Role

The factors that influence sizing are similar to the Hub role:

  • Message rate
  • Average message size
  • Number of enabled transport agents
  • A/V and A/S
  • SMTP Connections
  • Percentage of malware

CPU

  • 2 processor cores recommended
  • Up to 4 cores

Memory

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

Disk

  • Capacity = (average message size x maximum queue) + Logs
  • Transport rules and message rate influence the IOPS needed
  • Back Pressure:
  • RTM: 4GB minimum free space
  • SP1: 500 MB minimum free space

Network

  • 2 x Gbit recommended (1 in, 1 out)

UM Role

These are the load factors that influence sizing:

  • Outlook Voice Access
  • Voice mail storage codec
  • Call answering and forwarding
  • Number of concurrent calls
  • Number of incoming concurrent fax messages

CPU

  • Up to 4 cores
  • Multiple cores recommended if converting from .wav to .wma

Memory

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

Disk

Network

  • Gbit recommended

Active Directory/Global Catalogs

For each site containing Exchange 2007 Mailbox servers or users:

32-bit

64-bit

GC:Mailbox server core ratio

1:4

1:8

you must have enough memory installed on the directory server to cache the entire Active Directory database (NTDS.DIT) in memory

1 GC near
XX users

Every 10,000 users

Every 20,000 users

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 Jetstress Tool – 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 - Use Microsoft Exchange Load Generator (LoadGen) as a simulation tool to measure the impact of MAPI clients on Exchange servers. LoadGen allows you to test how a server running Exchange responds to e-mail loads. To simulate the delivery of these messaging requests, you run LoadGen tests on client computers. These tests send multiple messaging requests to the Exchange server, thereby causing a mail load. Specifically, LoadGen helps you determine if each of your servers can handle the load to which they are intended to carry.
  3. Exchange Server Stress and Performance - Use Microsoft Exchange Server Stress and Performance (ESP), a highly scalable stress and performance tool for Exchange, to simulate large numbers of client sessions by concurrently accessing one or more protocol servers. ESP includes multiple modules that you can use to simulate a wide variety of protocols and loads. You can run modules concurrently from multiple hosts, thereby more realistically simulating physically separate client machines. The ESP tool does not have the capability of creating users. Therefore, it is recommended that you use ESP in conjunction with other tools that create users (for example, Exchange Load Generator).
  4. 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.
  5. System Center Capacity Planner – Helps size and plan deployments of Microsoft server products, including Microsoft Exchange Server 2007. It provides you with the tools and guidance to simplify deployment planning, and use "what-if" analyses to predict the impact of changes.
  6. 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 2007 Advisor – The Dell Exchange 2007 Advisor tool is designed to help you create an architecture for Exchange deployments by providing a complete view of hardware, software, and Services options. The Tool accepts user specifications, then analyzes, and outputs an Exchange configuration based on performance sizing and Dell recommended best practices.


Figure 2: Dell Exchange 2007 Advisor

  • HP Storage Planning Calculator for Microsoft Exchange Server 2007 – Based on a selected user (workload) profile; this tool calculates the number of hard drives (spindles); storage controllers; enclosures required to meet both performance and capacity requirements for the total user population. The tool is designed to allow for a variety of what-if scenarios and pricing; comparing RAID levels; hard drives (spindles) sizes; storage array controllers; enclosures; backup methodology/topology; tape drives; comparing Outlook client modes; and high availability options Cluster Continuous Replication (CCR) versus Local Continuous Replication(LCR).


Figure 3: HP Storage Planning Calculator for Exchange 2007

  • HP Sizing and Configuration Tool for Microsoft Exchange Server 2007 – The tool generates recommendations based on a combination of user technical and business requirement input, and best practices recommendations for highly available, high performance Exchange deployments.


Figure 4: HP Sizing and Configuration Tool for Microsoft Exchange Server 2007

Conclusion

And this concludes this brief sizing guide for Exchange Server 2007. Personally, I think that the x64 architecture eases all the planning and calculations required to size an Exchange 2007 solution, when comparing it to its predecessor, Exchange Server 2003. But the sizing methodology is not that different:

  • Understand real user needs
  • Establish baselines
  • Balance environment
  • Test the overall solution
  • Apply best practices and proactively monitor

Related Links

Advertisement

Featured Links