IOMelt is designed to run on Linux systems, it uses some calls that are exclusive to Linux so it will fail to compile on other systems (as of March 2012). It should not be hard to port it to other systems though, I just don't have enough spare time to do it.
UPDATES:
IOMelt runs a series of four tests:
Building should be simple, just run make inside the IOMelt folder and everything should work, feel free to send me an e-mail if you have any issues compiling or running IOMelt.
Serial write test - File size: 10.00M - Block size: 4096 Serial write test finished write() calls: 2560 Wallclock seconds: 1.543724 write() calls per second: 1658.327716 write() bytes per second: 6.48M Serial read test - File size: 10.00M - Block size: 4096 Serial read test finished read() calls: 2560 Wallclock seconds: 0.030610 read() calls per second: 83633.220186 read() bytes per second: 326.69M Random rewrite test - File size: 10.00M - Block size: 4096 Random rewrite test finished write() calls: 2560 Wallclock seconds: 0.564044 write() calls per second: 4538.653023 write() bytes per second: 17.73M Random reread test - File size: 10.00M - Block size: 4096 Random read test finished read() calls: 2560 Wallclock seconds: 0.123327 read() calls per second: 20757.819866 read() bytes per second: 81.09M Random mixed read/write test - File size: 10.00M - Block size: 4096 Random read/write test finished read()/write() calls: 2560 Wallclock seconds: 0.553925 read()/write() calls per second: 4621.563979 read()/write() bytes per second: 18.05M Finished all tests Total wallclock time: 2.826951 Blocks in/out: 61112/82560 CPU user/system time: 0.000000/0.712044
Simply configure it as a cron job and use the '-d' option, then use R or excel to plot the data.
Typically I use '-dor', this is an example of the output:
#Date;Hostname;Test;File Size;Block Size;Total Time;Calls per second;Bytes per second Tue Aug 21 21:05:32 2012;ubuntu;Serial Write;10485760;4096;19.028683;134.533746;551050.222445 Tue Aug 21 21:05:32 2012;ubuntu;Serial Read;10485760;4096;0.031733;80673.116139;330437083.705433 Tue Aug 21 21:05:32 2012;ubuntu;Random Rewrite;10485760;4096;6.699019;382.145505;1565267.989227 Tue Aug 21 21:05:32 2012;ubuntu;Random Reread;10485760;4096;1.287984;1987.602330;8141219.145243 Tue Aug 21 21:05:32 2012;ubuntu;Random Read/Write;10485760;4096;6.957187;367.964811;1507183.866131
This is an example of a scatter plot generated using R and iomelt data: