Exchange 2003 Real World Tweaks (Part 2)
"For a complete guide to security, check out 'Security + Study Guide and DVD Training System' from Amazon.com"
Tips 1-7 were covered in Part 1 of this article. You can view it here.
8. Disk Configuration
Disaster is always an unlikely event and disaster with your email system only makes the disaster feel worse… you can however try to avert disaster (or plan to recover from it) with a good Disaster Recovery Policy (DRP). If you do not have one, then the next steps would be to consider clustering or high availability. If that is not possible then you should at least have a RAID (Redundant Array of Inexpensive Disks) set ready for failure. Hard drives have a Mean Time Between Failure (MTBF) set and the drives ‘will’ eventually fail. It’s imperative that you have all these forms of disaster planning in place, but in its most simplest form, you should really have RAID running. RAID can also ‘improve read and write speeds’ to and from your hard disk as it also utilizes striping.
When choosing a RAID configuration, consider RAID 1+0 as the first choice and RAID 5 as a compromise if your budget won’t allow for the additional disks needed for RAID 1+0. SAN environments with the additional cache and processing power can often narrow the performance gap between RAID 1+0 and RAID 5 can be significantly narrowed. There are also benefits via performance and monitoring via most vendors SAN software and hardware.
9. Disk Geometry
When formatting the volumes for use with Exchange, be sure to use the diskpar utility that comes with the Windows 2000 Server Resource Kit to correctly align the physical disk geometry. Before you mount a new RAID volume through disk manager, open a command prompt and run ‘diskpar.exe –i *’ to get a list of available disks, then run ‘diskpar.exe –s <disk number>’ to format the disk with a 64 Kb off-set. If using a SAN, consult with your SAN vendor for the proper off-set.
Also make sure that you use NTFS for best performance and security.
10. Disk Performance
An average disk read performance to work from is between 0.5 and 0.75 IOPS (I/O’s per Second) per active user for the data store volume. A good rule of thumb for I/O ratios on Exchange stores is 3 reads for every write.
A typical 10,000 RPM Fiber Channel drive delivers approximately 100 IOPS, a 15,000 RPM Fiber Channel drive delivers approximately 120 IOPS, which means that often you can be better off buying more 10,000 RPM drives rather than upgrading to 15,000 RPM drives.
The RAID configuration will also have an impact on the overall performance of a set of spindles. The impacts on IOPS for using RAID 0 (no data protection) on a typical exchange system is none, so the RAID multiplier is 1.0, but RAID 1 or RAID 1+0 doubles the number of I/O’s required for each write, so the multiplier is 0.8 (i.e. you will get roughly 80% of the overall performance of a RAID 0 array with RAID 1). For a RAID 5 array, which requires 4 I/O’s per write, the factor is 0.57, or 57% of the overall performance of a RAID 0 array, which means you can often need fewer disks when implementing with RAID 1 than RAID 5 due to the performance constraints. If you are using a SAN, check with your SAN vendor to see what the impact of the various RAID levels is on the effective IOPS of the system, as advanced caching techniques can increase RAID 5 performance significantly.
The overall calculation for the number of spindles you need to achieve a certain number of IOPS can be summarized in the following equation:
# Disks Required = (# IOPS/user desired * Number of Users)/(IOPS/disk*RAID Level Factor)
For example, a server to handle 1,000 users at 0.5 IOPS/user with RAID 1, would use the following equation:
N = (0.5*1,000)/(100*0.8) = 6.25 or 8 (after rounding up to the next even number) total disks
If RAID 5 were used, however:
N = (0.5*1,000)/(100*0.57) = 8.9, or 9 total disks
Moving to 15,000 RPM disks changes these numbers to 6 and 8 respectively.
To determine the IOPS per user on an active system, monitor the Physical Disk\Disk Transfers/sec perfmon counter over a period of time, looking for your peak activity and then use this equation:
IOPS/user = (peak disk transfers/sec)/(number of users at peak)
If your system is flat-lining with a consistently high Disk Transfers/sec counter, you probably need to add more disks and/or change the RAID level of your array.
11. Global Catalog Servers
Your domain controllers will be doing a lot of the address book lookup work that Exchange servers did under Exchange 5.5, for this reason it is important to monitor and design your Active Directory environment with Exchange in mind and understand that overloading your domain controllers can have a direct impact on your Exchange system performance. Be sure to have GC’s located in the same sites as your Exchange servers and avoid multi-purpose domain controllers if at all possible.
12. Performance Monitoring
One of the most important things to know about tuning a server is what counters to watch for. Microsoft has simplified this greatly be releasing the Performance Monitor Wizard, available for download at:
This tool will automatically set up monitoring of the most important aspects of Exchange. Run the wizard, select ‘Advanced Configuration’ and on the next screen, check the ‘Exchange Server’ Check box.
Continue through the wizard, selecting the names and locations of the log files, frequency for updates, and finally you will be presented with a screen to select what aspects of the system you want to monitor.
13. Perform Load Testing
Be sure to validate the performance metrics that you predict for your system by using jetstress, loadsim, and medusa (aka Exchange Stress and Performance) tools, available for free download from Microsoft’s download center. Jetstress is a good way to evaluate a single server’s disk I/O performance and really help in evaluating RAID or SAN controller performance and the impacts of using various configurations. Loadsim emulates actual users sending e-mail messages across your system by opening active MAPI sessions and can be used to perform end-to-end performance testing of your overall system. Be sure to turn on perfmon prior to starting your Loadsim tests so that you can identify if your bottlenecks are memory, disk I/O, or CPU based limitations. Medusa is similar to loadsim, but adds the ability to test and tune IMAP, POP-3, LDAP, WebDAV, and a slew of other non-MAPI type connections into your Exchange environment, allowing for more of a ‘real world’ performance test, particularly when combined with MAPI calls from Loadsim.
14. Exchange Best Practices Analyzer
Microsoft has released the Exchange Best Practices Analyzer tool to help administrators find problems in their configurations and to make suggestions on ways to improve their Exchange systems. A very straight-forward wizard looks at your environment and pinpoints any of several possible problems with your system. While it’s not a perfect tool, it didn’t detect a configuration where the log files and exchange databases were on the same physical volume, for example, the feedback from this tool is very useful, and Microsoft is upgrading the tests and checks that the tool performs on a regular basis. To download the tool, visit http://www.microsoft.com/exchange/downloads/2003/ExBPA/default.asp.
15. Document Your Environment and Keep a Change Log
As your last and final tip, make sure that you document and log your environment. You can lean a lot from a log and some documentation. Make sure you keep a constant look at your Event Viewer logs as well; you can also learn a lot and take some proactive steps towards handling potential problems or issues.
In Part 2 of this article you have been shown how to pay close attention to detail when attempting to be a cut above the rest and make a great Exchange Deployment better. Remembering these finer, smaller details when rolling out and then managing your Microsoft Windows Exchange 2003 deployment will ensure you a better performing system. Always make sure to back up your systems before applying any patch or fix, make sure to test in a lab segment and always have a back out plan for your production systems.
Rob and Chad are both currently involved in a global Exchange 2003 deployment spanning hundreds of sites all across the world. 15 tips were provided from a real world deployment that the authors considered very important points to cover when assessing your current Exchange environment in hopes that they help you as much as they have helped us. Rob would like to personally thank Chad Conrow for his assistance with this article. You can reach Rob Shimonski in the Forums on this website.
Links and Reference
Downloads for Exchange Server 2003
Get the latest updates, service packs, add-ins, tools, and trial software that you can download or order from Microsoft.
Optimizing Storage for Exchange Server 2003
Published: September 2, 2004