How to find the MAX IO a physical disk can support
Obiously using Unix tools is the easiest way to do it. You can measure the max operation by creating a test case and use appropriate tools to measure its perfomance. A good resource can be found here: LINUX - Test READ and WRITE speed of Storage
sudo hdparm -tT /dev/sdX
for example as read test.
And to measure write:
dd if=/dev/random of=<some file on the hd> bs=8k count=10000; sync;
# Hit CONTROL-C after 5 seconds to get results
# 65994752 bytes (66 MB) copied, 21.8919 s, 3.0 MB/s
flag
Note
As pointed out in the comments the dd
command also measures the performance of the file system and even /dev/random
. It does measure the write performance of an environment, that heavily depends on the hard disks performance, though.
Blk_wrtn/s really depends on the type of workload. Linear write is much faster, random write can be really slow. So you will not be able to say one number, but there are a lot of tools to simulate and benchmark different workloads, e.g. iozone, dbench.
Now to monitor the current workload, I usually use iostat. E.g.:
iostat -x 10
The last column is %util, if that is below 100, you can still put some IO load there. Of course, you always want to have some reserve, so 60-90% is a realistic target based on the stability of the workload and the required responsiveness.