[This is preliminary documentation and subject to change]
Optimizing the number of times Internet Information Services (IIS) accesses the hard disk can greatly improve performance by reducing hard-disk bottlenecks. Optimizing disk access involves monitoring memory requirements and determining the size and number of files being requested. Hard-disk bottlenecks are most often seen on sites with very large file sets that are accessed randomly. If your server has a small amount of RAM and either a large number of different files are being requested, or the size of the requested files is large, IIS is unable to maintain copies of the files in RAM for faster access. In this case, IIS must access the files from the hard disk. The access speed and size of the hard disk determine how quickly IIS can locate a requested file.
To monitor your disk drives, use System Monitor to log the percentage of CPU utilized, network card saturation, and the % Disk Time counter of the Physical Disk object. If the % Disk Time counter is high, but the CPU and network card are not saturated, the disk drive is creating a bottleneck. For more information on Physical Disk % Disk Time, see the Windows Whistler documentation.
To improve disk access, use a redundant array of independent drives (RAID) and striped disk sets. If your server is used heavily for database work, you may want to consider running IIS on a different machine because your database will compete with IIS for memory, CPU, and disk resources. If you must run IIS on the same machine as your database server, you may need either gigabytes of RAM to minimize access delays, or a drive controller with a large RAM cache. You should also maintain redundancy, so that you are not forced to restore from backup copies when a single drive ceases to function. Many newer controllers permit "hot swapping," so that when a drive fails, it can be replaced without forcing server downtime.
Related Topics