I was working on a system the other morning that was experiencing severe performance problems. Further compounded by the launch that day of a new product! Ideally , I would do a whole bunch of wait analysis , to try and identify the problem. The set up was 2 hard disks with no RAID and extremely high volume.
The conclusion was: I/O issue.Sustaining that level of volume with 2 hard disks will lead to problems. You need a caching Raid controller and disk arrays.
In their particular case , they were seeing checkpoints. During a Checkpoint all the dirty pages in the buffer cache are written to disk at one time. Without a good Raid array and a fair amount of disk cache you will never get good performance.
The other feature causing a problem was not separating the log files into their own RAID 1 disk array- insuring their is nothing else on that drive other than transaction log files. Log writes are exclusively sequential writes and can reside on RAID 1 (sequential writes are 20 times faster than random writes for a single drive.) If possible, try to have only transaction log per mirrored pair otherwise the disks start to perform random IO.
If there are an excessive amount of writes, it's best to have a RAID 10 for data.Also, a battery backed writeback conntroller with all the memory set to write cache. It's extremely difficult to get excellent performance unless a proper disk subsystem is put into place.