On Tue, Oct 02, 2007 at 03:51:50PM -0400, Ross S. W. Walker wrote:
Pasi Kärkkäinen wrote:
On Tue, Oct 02, 2007 at 09:39:09AM -0400, Ross S. W. Walker wrote:
Simon Banton wrote:
At 12:30 +0200 2/10/07, matthias platzer wrote:
What I did to work around them was basically switching
to XFS for
everything except / (3ware say their cards are fast, but only on XFS) AND using very low nr_requests for every blockdev
on the 3ware
card.
Hi Matthias,
Thanks for this. In my CentOS 5 tests the nr_requests
turned out by
default to be 128, rather than the 8192 of CentOS 4.5.
I'll have a go
at reducing it still further.
Yes, the nr_requests should be a realistic reflection of what the card itself can handle. If too high you will see io_waits stack up high.
64 or 128 are good numbers, rarely have I seen a card that
can handle
a depth larger then 128 (some older scsi cards did 256 I think).
Hmm.. let's say you have a linux software md-raid array made of sata drives.. what kind of nr_request values you should use for that for optimal performance?
Thanks!
Pasi,
Good to hear from you again.
I haven't done much testing with software RAID, but after googling around I have found that there truly is no 1 nr_requests setting that fits all pictures.
The nr_requests is the maximum number of requests that can be queued before the queue is unplugged and the perfect # of requests queued is a reflection of the workload and the hardware together. Also most system func unplug after each request, so it isn't such a big issue unless the system is under high load.
If the default 128 isn't working I would explore hardware or RAID configuration problems first before trying to tweak this setting.
The old nr_requests = 8192 was definitely too high.
Thanks for the reply Ross :) You're quite active on many lists it seems..
I also understood there's no single correct value for nr_requests..
I wonder if there are any "guidelines" how to find the best value.. I guess monitoring io-wait and throughput should give the best value for nr_requests?
-- Pasi