QUOTE (eth00 @ Aug 22 2007, 07:26 PM)

A badblocks test is one of the better ways to see if a disk is failing or otherwise having trouble. During the badblocks test you can often either get a very high load, errors on the screen, or run smoothly. If your server is already it may already have a high load so that is not always a good indication. "Ideally" on a failing drive it reports bad blocks.
You have to know what iowait is before you can really say if badblocks can cause iowait. The iowait you see in top is basically the amount of time the system is holding up an action because of the response from the disk. Going on that if you have a bad block on the OS that is causing it to re-read or skip over you are going to have a delay in the IO operations which may possibly cause the IO to raise. So the short answer is YES. A slow disk is a good indication that something in up.
Smartctl is a good test but really is not all that trustworthy, even if it says a disk is not in the best condition they are often fine for years. I also do not believe only a bad smartctl is enough for a hardware swap.
What does
iostat
show when you have the high load? If your disk is in fact doing a lot of IO the disk may be fine and just busy.
Also, check your swap usage. Might be an indicator that you need to consider more memory.
As far as smart goes, it's an OK indicator. I have a 20GB at home that's been pending failure for 4 years now according to smart. An offline(manufacturer) test is the best indicator if the drive is failing, it'll take out factors, such as load. I've personally authorized HDD replacements based on smartctl and iowait alone.
In any case.. back your data up!