If you are an Exchange 2003 admin, you probably know that the majority of performance problems you encounter relate to storage issues rather than the CPU.
What kind of clue do you have that you are having performance issues? Microsoft says if your average read and write latencies are more than 20 ms or latency spikes more than 50 ms for more than a few seconds, then your Exchange Server needs work. Fortunately, Exchange responds well to tuning.
Make certain files 'independent'
At the heart of Exchange are the Jet (.edb) and streaming (.stm) databases, which are updated with almost every mail transaction. One simple step is to put all of these database files (.edb and .stm files) on a single, fast volume for each storage group. The volume should be dedicated to these databases; the disks holding them should have fast random-access speeds.
Another kind of file that is updated constantly is the transaction log file. Transaction logs need to be on a device with the lowest possible write latency. If your hardware RAID controller has the proper protection on its write cache (such as mirroring and battery backup), you can improve performance by setting the ratio to 100 percent write. Separate the logs for each storage group and put them on dedicated RAID 1 or RAID 10 LUNs.
The SMTP queue volume should be spread over several spindles using a RAID 10 array. Since this volume is critical to performance, it should not share spindles with any other function. How many spindles this volume needs and how big to make the SMTP write cache will vary according to your system's characteristics.
The page file should be on separate spindles with at least RAID-1 protection. Even if you have a storage area network (SAN), use direct-attached storage for the page file. You should also separate the page file from the context indexing file by putting them on separate disks. The default for Exchange Server 2003 is for the files to reside on the same disk, but this can slow performance considerably.
An example of a configuration for Exchange Server 2003, according to Microsoft, is the following (this assumes one storage group with five databases):
- C: System volume, operating system, Exchange system files –RAID 1 (DAS not SAN)
- D: Page file – RAID 1 (DAS, not SAN)
- E: SMTP and MTA queues – RAID 10 (SAN)
- F: Log files from storage group – RAID 1 (SAN)
- G: Databases from storage group – RAID 10 (SAN)
Rick Cook has been writing about mass storage since the days when the term meant an 80K floppy disk. The computers he learned on used ferrite cores and magnetic drums. For the last 20 years he has been a freelance writer specializing in storage and other computer issues.
This was first published in November 2004