One component of properly sizing Exchange deployments that I do not think is well understood is the process of sizing processors. In this post, I am going to walk you through the process of sizing the processor for your new Exchange 2013 server deployment.
CPU sizing is measured via a unit called megacycles. A megacycle is one million CPU cycles.
The way to figure out how many megacycles you’re getting from you processor is via the SPecInt ratings, but we’ll get to that later in this article.
Below is an abbreviated table showing the Exchange teams recommended requirements for several mailbox profiles.
So if, for example, you have a 2 Node Exchange 2013 DAG that you plan on using to host 500 mailboxes with all your users processing 100 messages per day it’s pretty easy to figure out how many megacycles you’ll need. You’ll need 2,920 mega cycles available so you can lose one server and still have enough CPU to run everything off of one server.
The last challenge we need to overcome is figuring out how many megacycles are available for any given CPU. To do this, we need the SpecInt value for our server. In this example we’ll use the following server
Why this server? This is what is in my lab server sitting on the table next to me. I looked up the SpecInt2006 rating for this server, and the results are what you see in the table above.
The information we need is this server has 4 cores and a SpecInt rating of 86.4. Now we need the per core SpecInt rating, which in this case is 21.6 (86.4 / 4).
Next we need the estimated available Exchange workload megacycles. The formula for this number is ( (Target platform per-core score value [21.6]) x (MHz pre-core of baseline platform [2,000]) ) / (Baseline per-core score value [33.75]) = 1,280. The 2,000 and 33.75 numbers in that formula are baseline numbers that will always remain the same every time you do this calculation.
Now that number, 1,280, is a per core megacycles available number. We have 4 cores, which means each server has 5,120 megacycles available for us. If you remember from above, we need 2,940 megacycles so that we can run all 500 mailboxes on a single server. We’re in good shape! Of course when you do this “for real” you don’t want your per server required megacycles (2,940) to be more than about 80% of your available megacycles (5,120). In our case, we’re at less than 60% (2,940 / 5,120), so once again we're in good shape.