SATA Raid (stress test..)

Alex Zbyslaw xfb52 at
Wed Mar 1 04:03:45 PST 2006

Beastie wrote:

> I try to test with dd simple command
> dd if=/dev/amrd0s1d of=/dev/null
> ^C31297+0 records in
> 31297+0 records out
> 16024064 bytes transferred in 7.970548 secs (2010409 bytes/sec)
> the result is very slow performance (-+ 2 Mbytes/sec), with write 
> cache enable on drive. :(

Your performance sucks because, to quote the manual, "Input data is read 
and written in 512-byte blocks".

Try a sensible blocksize.  16k would mimic a standard file system block, 
but even that is likely to underestimate.  If you were, say, copying the 
disk to another you could easily use 1Mb.

Some examples:

dd if=/dev/ad10s1a of=/dev/null
^C794830+0 records in
794830+0 records out
406952960 bytes transferred in 164.049297 secs (2480675 bytes/sec)

dd if=/dev/ad10s1a of=/dev/null bs=16k
^C53745+0 records in
53745+0 records out
880558080 bytes transferred in 21.092098 secs (41748245 bytes/sec)

So from 2Mb/s to 41Mb/s!

dd if=/dev/ad10s1a of=/dev/null bs=1m
^C933+0 records in
933+0 records out
978321408 bytes transferred in 13.836165 secs (70707556 bytes/sec)

And up to 70Mb/s though nothing real world is likely to achieve that.

There are a whole slew of ports (/usr/ports/benchmarks) some of which do 
disk tests.  I've used unixbench in the past, which is a bit of a faff 
and does more than disks, but it works.  If you run windows on the box 
and want graphical benchtests, then there are free apps out there that 
will do tests on disks, like Sandra.


More information about the freebsd-questions mailing list