To read the updated calculator blog post and get the calculator, go HERE.
All future calculator updates will be rolled into this page, sorted from newer to older.
UPDATE ON 06/16/2010:
Version 17.6
Bug Fixes
UPDATE ON 06/15/2010:
Version 17.5
Bug Fixes & Enhancements
UPDATE ON 05/06/2010:
Version 17.3
EnhancementsOriginally, the IOPS Multiplication Factor calculations worked as follows:
<Base IOPS> + (<Base IOPS> * <IOPS Multiplier>) = <New IOPS Profile>
This was often times confusing, especially with regards to third-party applications that had multiplication factors. To coincide with the updated BlackBerry Enterprise Server for Microsoft Exchange 2007 Performance Benchmarking Guide we’ve simplified the formula as follows:
<Base IOPS> * <IOPS Multiplier> = <New IOPS Profile>
UPDATE ON 04/27/2009:
Version 16.9
UPDATE ON 04/23/2009:
Version 16.8
Enhancements
There are many add-ons, applications, client devices that impact the mailbox I/O profile in terms of some multiple. To aid you in your designs where you know this impact, we are introducing a new input field in the Mailbox and Client Configuration of the storage calculator. The way this value is used is as follows: ((db reads + db writes) * Multiplication Factor) + (db reads + db writes) = new IOPS value. To understand this, let's evaluate a few scenarios:
1. If you have mailboxes with a 2GB heavy message profile utilizing cached mode clients, with the IOPS prediction formula enabled and want to include an additional impact of 3.67, then the IOPS per mailbox will be:
= (((0.0048 * 100) * (5 ^ -0.65)) + (0.00152 * 100))* 3.67) + (((0.0048 * 100) * (5 ^ -0.65)) + (0.00152 * 100)) = (.32 * 3.67) + .32 = 1.49
2. If you have mailboxes with a 2GB heavy message profile utilizing online mode clients, with the IOPS prediction formula enabled and want to include an additional impact of 3.67, then the IOPS per mailbox will be:
Online Mode Impact for 2GB mailbox = 12.5 DB Reads = (((0.0048 * 100) * (5 ^ -0.65))* 3.67) + ((0.0048 * 100) * (5 ^ -0.65) * 12.5) = 2.73 DB Writes = ((0.00152 * 100)* 3.67) + (0.00152 * 100) = .71 = 2.73 + .71 = 3.44
Online Mode Impact for 2GB mailbox = 12.5 DB Reads = (((0.0048 * 100) * (5 ^ -0.65))* 3.67) + ((0.0048 * 100) * (5 ^ -0.65) * 12.5) = 2.73 DB Writes = ((0.00152 * 100)* 3.67) + (0.00152 * 100) = .71
= 2.73 + .71 = 3.44
The reason this formula differs from the cached mode formula is that we already over provision database read I/Os for online mode due to the likelihood that desktop search solutions are indexing against the mailbox server. As a result, we didn't want to include the multiplication factor with that overhead (in other words the multiplication factor impact ignores the fact that the client is operating in online mode).
3. If you have mailboxes with a 2GB heavy message profile utilizing cached mode clients, with the IOPS prediction formula disabled (configured to use 1.0 custom IOPS profile) and want to include an additional impact of 3.67, then the IOPS per mailbox will be: = (1.0 * 3.67) + 1.0 = 4.76
3. If you have mailboxes with a 2GB heavy message profile utilizing cached mode clients, with the IOPS prediction formula disabled (configured to use 1.0 custom IOPS profile) and want to include an additional impact of 3.67, then the IOPS per mailbox will be:
= (1.0 * 3.67) + 1.0 = 4.76
UPDATE ON 01/06/2009:
Version 16.3
Mailbox profile
Message profile
Logs generated / mailbox (50KB Message Size)
Database Cache / Mailbox
IOPS Profile / Mailbox (Cached Mode)
Light
5 sent/20 received
6
2 MB
0.11
Average
10 sent/40 received
12
3.5 MB
0.18
Heavy
20 sent/80 received
24
5 MB
0.32
Very Heavy
30 sent/120 received
36
0.48
Extra Heavy
40 sent/160 received
48
0.64
Our TechNet guidance will also be updated to include this new profile in upcoming months. In addition, LoadGen will include this new profile in a future web release.
UPDATE ON 09/23/2008:
Version 16.0
Bug Fixes / Enhancements
UPDATE ON 08/20/2008:
Version 15.6
Bug Fixes / Enhancements - Storage Design Worksheet
Bug Fixes / Enhancements - Log Replication Requirements Worksheet
Bug Fixes / Enhancements - General
Or consider this methodology. You know an application that you will be using will generate an I/O increase per mailbox. To determine how much I/O you need follow these simple steps:
New Functionality
UPDATE ON 06/26/2008:
Version 14.8.
UPDATE ON 06/12/2008:
Version 14.7.
Usability Enhancements
New Features - Storage Design
In the past, the mailbox storage calculator only provided capacity and I/O requirements for the design. With this release, the mailbox storage calculator includes a new worksheet, Storage Design. The Storage Design worksheet allows you to select the disk types and capacities you would like to use in your environment. The calculator will determine the appropriate RAID configuration and the number disk spindles you need that meet your capacity and performance requirements. The key features are:
Important: The Storage Design worksheet is not designed for any particular storage vendor, and as such, you should validate the design not only with your storage vendor, but by utilizing stress and load generation tools before production implementation.
For more information on how to use the Storage Design worksheet, see the Exchange 2007 Mailbox Server Role Storage Requirements Calculator blog article.
UPDATE ON 02/29/2008:
Version 13.7.
And last, but not least... New Features
Projected Number of Mailboxes Growth
The first new feature that has been added is the ability for you to specify during the solution's lifecycle the projected growth in terms of number of mailboxes. This way you can now easily model the increase in capacity and performance requirements by dialing the projected growth.
Network Failure Tolerance
When deploying geographically dispersed CCR or SCR across a WAN link there is the possibility that the network link between the two locations will become unavailable. As a result, truncation on the source cannot occur. To ensure you have enough space to survive the network outage an additional parameter needs to be taken into account when sizing space for the Log LUN. Since the calculator already includes a backup failure tolerance parameter, this parameter will only supersede that parameter if it is larger.
As a result, the formula for calculating backup log space requirements is as follows:
NumTLogs x factor
= [If SCRReplayLagTime=0 and SCRTargets<>0 then 50 + NumTLogs, otherwise just NumTLogs] x factor
Where factor is
If performing daily differential backups, factor = MAX(MAX(7, MAX(BackupFailureTolerance,NetFailureTolerance),SCRReplayLagTime+SCRTruncationLagTime),7* MAX(BackupFailureTolerance,NetFailureTolerance))
>>The above formula is for daily differential backups and ensures that we have the largest window in terms of capacity to survive multiple truncation failures (since log truncation only occurs once a week), a network outage, or to have enough capacity to handle the SCR window.
>>The above formula is for daily incremental backups or daily full backups (with Restore LUN) and ensures we have enough capacity to survive multiple truncation failures, a network outage, or to have enough capacity to handle the SCR window. Since a Restore LUN exists, we don't need to be concerned with restore capacity (i.e. 7 days worth worst case with daily incremental backups) on the Log LUN.
>>The above formula is for daily incremental backups (without a Restore LUN) and ensures that we have enough capacity to handle restoration of all logs (7 days) or survive multiple truncation failures, a network outage, or have enough capacity to handle the SCR window.
>>The above formula is for daily full backups (without a Restore LUN) and ensures that we have enough capacity to survive multiple truncation failures, a network outage, or have enough capacity to handle the SCR window.
Multiple Mailbox Server Support
This has been the most requested feature for the calculator. So I've delivered it finally! You can now enter into the calculator how many mailbox servers you want in your environment. In turn, the calculator will recommend per server requirements, as well as, output requirements for all servers entered. Please note that there are a few restrictions/caveats:
UPDATE ON 12/19/2007:
Version 13.0.
UPDATE ON 10/24/2007:
Version 12.0.
Bug Fixes / Miscellaneous:
Memory Enhancements:
Back at RTM, we released guidance about requiring a minimum amount of RAM based on the servers number of storage groups. This basically worked out to requiring 500MB of RAM per storage group.
In SP1, we have made some jet/store improvements (to be covered in a later blog post) that have reduced that footprint. As a result we are updating our guidance (will be published in the November content refresh) as follows:
Storage group count
Exchange 2007 minimum required physical memory
Exchange 2007 Service Pack 1 minimum required physical memory
1-4
2GB
5-8
4GB
9-12
6GB
5GB
13-16
8GB
17-20
10GB
7GB
21-24
12GB
25-28
14GB
9GB
29-32
16GB
33-36
18GB
11GB
37-40
20GB
41-44
22GB
13GB
45-48
24GB
49-50
26GB
15GB
Therefore, we have updated the calculator to take these changes into account. Now when using the calculator, you have the option to select whether you will be deploying the RTM or SP1 version of the product. Based on the version you select, the corresponding column from the above table will be taken into account when calculating the minimum amount of memory required for the server based on the number of storage groups.
UPDATE ON 10/9/2007:
Version 11.8.
Based on customer feedback, this release introduces several usability improvements and bug fixes.
Bug fixes / Usability Improvements
SCR & Log Capacity Calculation Changes
With the release of 11.x we received very positive feedback regarding the incorporation of SCR planning into the calculator. However, we also received feedback that the SCR options did not provide the same granularity that exists in the Exchange 2007 SP1 product. As a result of this feedback, we made the following changes:
Due to the incorporation of SCR's truncation lag time parameter, we also had to adjust the way we calculate log backup capacity to include the truncation lag time for both source and replica (if you are wondering why we are including it in both source and replica it is to allow you to activate and reverse the SCR location for the entire server). The new logic for the backup capacity formula is as follows:
>>The above formula is for daily differential backups and ensures that we have the largest window in terms of capacity to survive multiple truncation failures (since log truncation only occurs once a week) or to have enough capacity to handle the SCR window.
>>The above formula is for daily incremental backups or daily full backups (with Restore LUN) and ensures we have enough capacity to survive multiple truncation failures or to have enough capacity to handle the SCR window. Since a Restore LUN exists, we don't need to be concerned with restore capacity (i.e. 7 days worth worst case with daily incremental backups) on the Log LUN.
>>The above formula is for daily incremental backups (without a Restore LUN) and ensures that we have enough capacity to handle restoration of all logs (7 days) or survive multiple truncation failures or have enough capacity to handle the SCR window.
>>The above formula is for daily full backups (without a Restore LUN) and ensures that we have enough capacity to survive multiple truncation failures or have enough capacity to handle the SCR window.
Important
Changes made to the calculator in the v11.x time frame have resulted in the calculator no longer being backwards compatible with older versions of Excel. If you do not have Excel 2007 and would like to use the calculator, please download VirtualPC 2007 (http://www.microsoft.com/downloads/details.aspx?FamilyID=04d26402-3199-48a3-afa2-2dc0b40a73b6&DisplayLang=en) and the Office 2007 VHD (http://www.microsoft.com/downloads/details.aspx?FamilyID=f9956176-cf66-478b-b20d-b9b92dd0dbfa&DisplayLang=en).
UPDATE ON 8/31/2007:
Version 11.2.
UPDATE ON 8/27/2007:
Version 11.0.
In this release we have made a few formatting changes, in addition to the following major changes:
LUN Architecture Changes
In previous versions of the calculator, if the LUN Architecture was based on the 2 LUNs / Backup Set model, the calculator would align the LUNs so that there were always 7 SGs per LUN. So for example, if you had a server architecture with 10 storage groups and you wanted to use the 2 LUNs / Backup Set model, the calculator would recommend LUNs 1 and 2 for SG1 through SG7 and LUNs 3 and 4 for SG8 through SG10; as you can see this was configuration was not very desirable because of the uneven split of storage groups. In this version of the calculator, we split the storage groups up appropriately - so for example in the 10 SG scenario, you will see LUNs 1 and 2 for SG1 - SG5 and LUNs 3 and 4 for SG6 - SG10.
Backup Architecture Changes
Just like with the LUN Architecture, if the LUN Architecture was based on the 2 LUNs / Backup Set model, the calculator would align the LUNs so that there were always 7 SGs per LUN when performing weekly full backups. With the change to the LUN Architecture to group the storage groups together appropriately, the backup architecture was also updated to reflect the correct backup sets.
I/O Calculation Changes
In the last version (v9.6) we added in Standby Continuous Replication (SCR), but calculations were not complete as we didn't cover log replay delay. SCR has a feature that allows you to delay transaction logs from being replayed into the database to reduce the likelihood of having to perform a database reseed. The log replay feature is configurable and can be set from 0 days (disabled) up to 7 days (note: if you set log replay to 0 days, we will still keep 50 logs from being replayed). This feature affects capacity - the longer the replay delay, the more capacity you may need. So as a result, we had to change the "Log Disk Space Required - Backups" calculation:
The original calculation went like this:
Log Disk Space Required - Backups = NumTLogs x factor
Which presented a few problems:
The new formula for calculating "Log Disk Space Required - Backups" is:
= [If SCRReplayDelay = Disabled and SCRTargets<>0 then 50 + NumTLogs, otherwise just NumTLogs] x factor
Log Generation Updates
Special Notes
We have added two special notes into the results section based on input parameters and the outcome of the design.
UPDATE ON 8/10/2007:
Version 9.6 corrects a bug where the Tier-2 Mailbox Class I/O requirements were not included in the database peak IOPS calculation.
UPDATE ON 7/9/2007:
Version 9.4 which adds an additional results table to the Storage Requirements tab that breaks down the number of tiered mailboxes per database. We hope this usability improvement helps.
UPDATE on 7/5/2007:
In this release, we have redesigned the look of the calculator, fixed some bugs, and as always, added new functionality based on customer feedback.
New Look
Older calculator versions update announcements can be found here and here.
- Ross Smith IV