siis/atacam/ata/gmirror 8.0-BETA3 disk performance
Alexander Motin
mav at FreeBSD.org
Wed Sep 2 14:51:46 UTC 2009
Derek (freebsd lists) wrote:
> I've been testing the new siis driver, and I have found no
> appreciable performance change, using dd as a measure of "raw"
> performance.
On linear read/write, without port multipliers used, performance of siis
driver is not so much differs from legacy driver. The most of it's
benefits are NCQ, FIS-based switching and command queuing affect mostly
highly parallel random workload.
> I get about 40MB/s read, and 30MB/s write. See attached
> bench-*.txt files.
It's too small, indeed. Actually, there are two different kinds of siis
compatible devices: SiI3124 and SiI3132/SiI3531. SiI3124 is more
expensive PCI-X card, sometimes it goes with built-in PCIe x4 bridge. To
operate effectively it needs effective bus. Inserting it to usual PCI or
PCIe x1 slot kills any hope. SiI3132/SiI3531 same time are cheap PCIe x1
cards. Nobody have ever seen them giving more 130-150MB/s, even looking
that PCIe x1 should give 2.5Gb/s.
> Am I expecting too much, or do I have something else going on
> here? (e.g. dd being a terrible benchmark of disk i/o)
>
> Is anyone else seeing better/worse/same numbers?
I have posted my micro benchmarks here:
http://docs.freebsd.org/cgi/mid.cgi?4A95A3CA.3060306
> Also I find it surprising that my gmirror read is only 40MB/s,
> and not 60-80MB/s, any thoughts on this?
To completely load gmirror on read operations, you may need to run two
dd's same time. Also make sure, that your gmirror runs in round-robin
mode. Default split mode, which should help with linear read, is IMHO
ineffective, at least with default MAXPHYS and slice values.
For maximum linear I/O performance you may want to build kernel with
options MAXPHYS=(1024*1024)
If you are doing many linear reads from file system, increase
vfs.read_max sysctl.
--
Alexander Motin
More information about the freebsd-current
mailing list