Could the source for a hard disk benchmarking app help here? Presumably this will contain some code to measure disk activity. Once activity can be measured, it would be simple to devise an algorithm to increase/decrease buffers relative to the disk utilisation. For example:
for each volume...
[code to read amount of disk activity]
b=ax
[code to change the number of buffers to b]
where b is the number of buffers required, a is the measurement of disk activity, and x is the multiplier (e.g. 10), which could be configurable in order to allow the user to adjust how much effect increased disk activity will have on the volume.
--
moto