If your process runs for a long enough time, you can run the above ps command repeatedly, and see how often it's in disk-wait. If it's often in disk-wait, you may be being slowed down by disk access speeds. On an idle system, you can use bonnie or hdparm -t to find out how fast your disks can perform large file operations. If you find that you hit this limit in normal operation, you will have to upgrade your machine. Very few people actually run into sustained-throughput problems.
Most people run into seek-time problems.
If your machine is writing to many different files, however, you can end up seeking to death. When a machine does this, it has to spend a long time moving the heads around on the disks. When this happens, programs like vmstat show a small number of bytes transferred per second, which makes it difficult to be sure of the problem. The iostat and sard programs can be useful here. If you know your average disk seek time, you can use it to find out how many seeks per second your disk can handle.