Don't guess if the I/O load is too high. Setup a performance monitor logging every 30 secs on:
Logical Disk - Current Disk Queue length - Drive letter (for each logical drive if there is more than one you care about)
Logical Disk - Disk Read Bytes/sec - Drive letter (for each logical drive)
Logical Disk - Disk Write Bytes/sec - Drive letter (for each logical drive)
Physical Disk - Current Disk Queue length - Drive number (for each hardware controlled RAID array or physical drive if you are doing software RAID)
Physical Disk - Disk Read Bytes/sec - Drive letter (for each array/drive)
Physical Disk - Disk Write Bytes/sec - Drive letter (for each array/drive)
It wouldn't hurt to add a few general purpose counters while you are monitoring so I'd suggest
Processor - % Processor Time - _Total
System - Processor Queue Length
If your % Processor Time is above %50 or if the Queue length stays above 0 on a regular basis you should pay attention to the CPU situation as well.
Back to disk, take account how much used capacity there is on each logical drive.
If your logical drive doesn't hold a large amount of data but the Current Disk Queue Length is high you should move that data to a SSD or a RAID comprised of SSDs. This may only be the boot drive on the server or it may even include your content. For good SSDs think Intel controller (Intel and Kingston) or Indilinx Controller (plenty of brands to choose from). Further if you go this route you need to look at your reads to writes ratio. If your Writes are high you want SLC based SSDs which cost at least twice as much if not more. If your writes are low or especially if the content doesn't change on a regular basis you want MLC based SSDs to save on the cost per GB.
If your logical drive holds an amount that makes the SSD option seem too expensive but you aren't short on space with the existing array you may want to consider getting higher RPM drives. Beware this may be false economy as a couple of good SSDs might handle the load of dozens of rotating disks.
If your drive holds an amount of data that makes you worry about space with the existing number of drives then you can just add more 7200 RPM SATA drives to keep the capacity increasing. Beware this may be counter to the performance issue as it may allow people to add more data and increase the load more than the extra spindles help. If you follow this route you should:
- Backup the data
- add the extra drives
- create a new RAID array using all the disks but not to their maximum capacity.
- restore the data.
- Continue to monitor performance
- repeat as needed
Heck maybe you should do that no matter which of the three types of drives you add but only add them if the performance counter(s) show the need.