Sunday, February 13, 2005

Exchange 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/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) 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)

Source :http://www.msexchange.org/tutorials/Exchange-2003-Tweaks-Part2.html

0 Comments:

Post a Comment

<< Home