Re: SATA-performance: Linux vs. FreeBSD

Arjan van de Ven
2007-02-13T10:08:28Z

> >
> The problem is: FreeBSD is fast, but lacks of some special drivers. Linux has
> all drivers but access to harddisk is unpredictable and thus unreliable!
> What can I do??

there's several tunables you can do;
1) increase /sys/block/<device>/queue/nr_requests
the linux default is on the low side
2) investigate other elevators; cfq is great for interactive use but not
so great for max throughput. you can do this by echo'ing "deadline"
into /sys/block/<device>/scheduler
3) make sure ext3 is set to "data=writeback"; the default journalling
mode is very strict, fine for smallish files but for multi-gigabyte
it'll start to hurt
4) try to use iostat -x /dev/<foo> 1 to see what values avg-rq and
avg-qu are.. avg-rq should be at least several hundred if not more.
5) echo a larger value into /sys/block/<device>/queue/max_sectors_kb
the default seems to be 512 which is... really low. The hw max is in
another file in that directory; if you want max throughput set the
max_sectors_kb value to the hw max. (you pay in terms of fairness for
this; it's the eternal fairness/latency versus throughput tradeoff)