Obtaining maximum performance while adding storage
How do you know where to start when
you need to add storage capacity to your existing Windows NT solution? You can't
simply add more disk space and expect to improve performance. As you increase
your storage capacity in an enterprise environment, you need to be able to
detect bottlenecks in your RAID subsystems, know which RAID levels to consider,
and know how to size your RAID arrays according to current and future
performance requirements.
If you're new to RAID or just need to brush up on your technology, see
Table 1, page 186, for a comparison of RAID levels and definitions or go to the
RAID Advisory Board Web site (http://www.raid-advisory.com) for an extensive
RAID review. The disk subsystem is one of the most flexible resources you can
configure in NT. How well you design your disk subsystem can drastically
influence NT's overall performance.
Getting the Big Picture
Before you can detect a disk subsystem bottleneck, you need to determine
whether your system is suffering from other bottlenecks associated with the CPU,
memory, disk, network, applications, clients, and NT resources. (For information
about tuning NT to improve performance, see "The Beginner's Guide to
Optimizing Windows NT Server," part 1 and part 2, June and August 1997.) If
you add resources to an area of NT that isn't throttling your system's
performance, you won't improve NT's overall performance. Tuning a resource or
purchasing additional hardware only to find that your efforts were in vain can
be frustrating. Assuming your disk subsystem is causing the only bottleneck on
your NT system, you can take several steps to detect and correct the bottleneck
and improve your system's disk performance.
Detecting Single-Disk Bottlenecks
Detecting a bottleneck in your disk subsystem is an important first step in
helping you determine how much additional disk space and disk performance
capacity you need. On NT systems with one hard disk, the disk becomes a
bottleneck that throttles the system when the disk can't keep up with the
requested workload. As a result, the disk's response time for processing
application requests becomes unacceptable. This delay forces applications to
wait on disk service.
NT's Performance Monitor is an excellent tool for detecting disk
bottlenecks (for an explanation of Performance Monitor, see John Savill, "Troubleshooting
NT Performance Moni-
toring," April 1998). To collect disk subsystem
statistics for use with Performance Monitor, you must type
diskperf -ye
at the NT command prompt and reboot the server; otherwise, the performance
counters will all report zero. The -y option tells NT to start the disk counters
when you restart NT, and the -e option enables the disk counters you need to
measure the performance of physical disks in striped disk sets. (You might not
have a striped disk set now, but turning on these counters will save you from
having to reboot later.)
Selecting Disk Counters
The number of disk-related counters that Performance Monitor provides can be
overwhelming. A good counter to watch is %Disk Time, which is available under
Performance Monitor's LogicalDisk object. The %Disk Time counter reports the
percentage of elapsed time that the selected disk is busy servicing read or
write requests. If %Disk Time averages 60 percent to 80 percent, the disk is not
causing a bottleneck. However, this level of performance warrants taking a
closer look at the disk in question. When %Disk Time exceeds 80 percent, the
disk is getting busy. At this level of performance, the time the disk requires
to service each request increases, and you need to closely monitor several other
disk-related counters that are also available under Performance Monitor's
LogicalDisk object.
The first of these additional counters is Avg. Disk Queue Length. This
counter measures the average number of read and write requests that NT queued
for the selected disk during a sample interval. A hard disk becomes a serious
bottleneck when the Avg. Disk Queue Length exceeds 2 for a sustained period.
When this delay occurs, applications are waiting to access the disk.