is there any reason why you have chosen 2 and 3 seconds as time limits for the benchmarks?
I've run hdparm within a VMware image and it tells me 90MB/s and more (even though on the host I do not get more than 30MB/s). So I assume VMware has implemented some cache because after recompiling hdparm with 30seconds I get way more realistic results.
Thanks (also for the nifty program)
The short times seem best for most uses.
VMware implements a virtual disk, on top of the host operating system. When that host is Linux, the page-cache will buffer the virtual drive's I/O, making it appear faster than it really is.
With a 30-second test, you are simply hoping that the host's page cache doesn't include enough pages from the drive -- on larger memory machines this will give the same results as a 3-second test.
There is no solution to this, other than having VMware use DIRECT_IO for this, which is probably a bad idea performance wise.
Or perhaps hdparm could try DIRECT_IO on the timing test, and hope that VMware passes the flag down to the host OS. But that will then be measuring the wrong thing for most folks, so it is not the default.
You can try it yourself, by giving the --direct flag to hdparm.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.