Exchange 2007 and Scalability

October 19, 2007

in Exchange, Microsoft


We all know that Exchange 2003 doesn’t scale up at all and anything over 4000 mailboxes on a single back-end creeps into the realm of non-support for Microsoft.  Let’s face it, Exchange 2003 doesn’t scale well at all.  With the 4GB RAM limitation this has often led to adding more Exchange servers and all the hardware, software and licensing that goes with it.  It is common to see large enterprise deployments with double digit Exchange 2003 servers.


Then along comes Exchange 2007 with 64-bit support.  With the memory limitation of 4GB removed and the many I/O improvements we’ve all been wondering just how many users will one Mailbox server support? 

One key to this puzzle is concurrent MAPI connections.  Exchange 2007 has a hard coded limit of 64k RPC connections per message store.  Since each MAPI session consumes an RPC connection and Outlook opens multiple connections to a server, the limit for the number of connected client will be equal to 64k divided by the average number of connections that Outlook opens.  You’ll want to define just what percentage of your user’s will be connected to the system at any one point in time.  This is defined as User Concurrency.  By adding more stores you can add more users and since  Exchange 2007 now supports 50 message stores and 50 storage groups you do the math…

RAM is no longer a hard limit.  Microsoft only recommends a 32 GB limit because:

  • At the time  of the release of RTM, 4 GB DIMMS were expensive. 
  • There isn’t much savings in the area of I/O above 32 GB.  Extensive internal testing by Microsoft has shown that 5 MB/user is the sweet spot.  The cost of adding more RAM often does not justify the need.

Understanding and controlling I/O is everything.  The more users you add to your stores the more I/O you are going to require.  When designing your storage configuration for large deployments a good rule to follow is to try not to share spindles among the stores.  If you haven’t already downloaded the Exchange 2007 Storage Calculator…do so now.  It will help you calculate how many stores you’ll need and how much I/O you’ll need to support.  Keep in mind your backup schedules when using the calculator…this setting will determine just how many LUNs you’ll need to deploy.  CCR and LCR deployments double the number of LUNs.  Store size is limited to how fast you can backup the database and how quickly you can restore.  I would recommend looking into Microsoft’s newly released Data Protection Manager 2007.

I want to make special note on the following.  Mailbox and Message Size Limits!!!  Mailbox size plays a huge role in the performance of your server.  I have personally witnessed powerful servers brought to their knees because the CEO opened his 10 GB mailbox with over 50,000 items in his Inbox. 

Also, keep the message count of any one folder to less than 5,000.  Creating more top level folders, or sub-folders underneath the Inbox and Sent Items folders, will greatly reduce the costs associated with this index creation, so long as the number of items in any one folder does not exceed 5,000.  Don’t forget about the Calendar folder as well. 

See what the Exchange Team has to say on Mailbox Size Limits.  Though written a while ago this information is still valuable.

If it’s absolutely necessary that some user’s have their HUGE mailboxes (President, CIO, CEO, etc..) consider giving these users their own Mailbox server and store.

Three words…Messaging Records Management.

The Results…

Taking all this information into account the scalability potential of Exchange 2007 is nothing short of amazing.   I know of one Microsoft Exchange 2007 customer that has deployed this monster: (they are not an ISP)

  • 70,000 mailboxes.
  • Over 30 mailbox databases.
  • Six node cluster (AAAPPP) using HP Blade Class-P hardware.
  • Each node is equipped with 32 MB of RAM each.
  • Mailbox databases are stored on a NetApp FAS3050 using iSCSI!!!!
  • Two HUB Transports, two Client Access Servers and two Edge servers.

So the next time you are designing your Exchange 2007 organization keep these things in mind:

  1. RAM is not an issue, cost is.
  2. Controlling the I/O is vital to building a robust and scalable architecture.
  3. User concurrency percentage.
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)