Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!


Click here to return to the 'Benchmark your SSD or hard disk speed' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
Benchmark your SSD or hard disk speed
Authored by: madhornytoad on Jan 04, '14 12:17:21PM

One additional thing that might be worth mentioning...your test file (tstfile) should be larger than the amount of physical ram.
This prevents caching and artificially inflated read speeds. Allow me to demo this on my snazzy new iMac with the PCI-e drive...
The system has 16GB of ram, a 3.5 GHz i7 and 512 GB PCI-e SSD:

madht@host (]> 01:19:24
~> time dd if=/dev/zero bs=2048k of=tstfile count=1024 2>&1 | awk '/sec/ {print $1 / $5 / 1048576, "MB/sec" }'
732.213 MB/sec

real 0m3.278s
user 0m0.002s
sys 0m1.155s

Wow faaaast writes - love this drive...
now check the file size

madht@host (]> 01:20:12
~>ls -al tstfile
-rw-r--r--+ 1 user staff 2147483648 Jan 4 13:30 tstfile

2GB, way less than 16GB.
Now lets Read it back...

madht@host (]> 01:30:19
~> time dd if=tstfile bs=2048k of=/dev/null count=1024 2>&1 | awk '/sec/ {print $1 / $5 / 1048576, "MB/sec" }'
6262.12 MB/sec

real 0m0.329s
user 0m0.002s
sys 0m0.329s

Mother of God!! 6.2 GB/sec!!
Hmmm....that can't be right.
So lets try a much larger test file.
NOTE: The file size does not *need* to exceed your total ram, just the amount you have free. If you feel this is a valuable use of your time ;) hint, hint -- then adjust block sizes and counts to just exceed the amount of free memory you have available.

Here Goes with a 16GB file:

madht@host (]> 01:30:44
~> time dd if=/dev/zero bs=2048k of=tstfile count=8192 2>&1 | awk '/sec/ {print $1 / $5 / 1048576, "MB/sec" }'
728.792 MB/sec

real 0m22.583s
user 0m0.007s
sys 0m5.543s

Still bloody fast writes, yum.
Check the size (I always do)

madht@host (]> 01:42:45
~>ls -al tstfile
-rw-r--r--+ 1 user staff 17179869184 Jan 4 13:42 tstfile

Yep, that one there is a whale that can't be crammed into my ram.

madht@host (]> 01:42:49
~> time dd if=tstfile bs=2048k of=/dev/null count=8192 2>&1 | awk '/sec/ {print $1 / $5 / 1048576, "MB/sec" }'
779.598 MB/sec

real 0m21.018s
user 0m0.006s
sys 0m4.323s

Aaaah much more like it. And still pretty performant, yo.

One more thing to add and I don't know if was already mentioned or not tl:dr -- this is a sequential test only. iow - this is as fast as it gets and in no way indicative of how your drive performs when ~30-50% of its reads and writes are random - i.e. during regular multi application usage of the OS. ioMeter is the best open source benchmarker out there however they don't fully support OSX, just the worker engine binaries -- so iometer itself would have to run on a separate machine. But it's doable ;)



[ Reply to This | # ]