rework disk I/O tests
right now we do a bunch of rather silly benchmarks on the disk. we basically do this:
- a dd
- hdparm -T
- some fio job (which generally fails, and will fail even more now that fio has been split in two)
The dd and hdparm jobs are kind of okay (modulo that the whole prototype needs to be rewritten, see #3), but the fio jobs are definitely not. Let's take advice from Jim Salter and implement a more thorough set of benchmarks. I did this for ZFS benchmarks and ended up with a shell script that is a good prototype we could start from. Another version of this is also in the fio directory in stressant, to further complicated this.
All this stuff should be merged into stressant, and it could serve as a good first spike for the rewrite, since it's so complicated. Basically, we need to:
- figure out which disk(s) to run tests on (and allow the user to override)
- run a bunch of disparate tests (dd, hdparm, fio, i think are all still relevant)
- collect those results in a meaningful way (fio is particularly tricky, but the others also are
- allow the user to skip or run only parts of the commands
- allow the user to configure some of those jobs for special purposes (e.g. "this is a database server, i want that extra test")
this issue also serves as a deep link to cross-reference all those implementations together.