public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 3ware disk latency?
@ 2006-07-10 14:13 Jan Kasprzak
  2006-07-26 16:52 ` dean gaudet
  0 siblings, 1 reply; 13+ messages in thread
From: Jan Kasprzak @ 2006-07-10 14:13 UTC (permalink / raw)
  To: linux-kernel

	Hi all,

I have upgraded my machine from 3ware 7508 with 8x 250GB ATA drives
to 3ware 9550SX-8LP with 8x 500GB SATA-II drives, and I have found that
while the overall throughput of the disks is higher than before,
the latency - measured as the number of messages per time unit Qmail can
deliver - is far worse than before[1]. I have tried to use deadline
and cfq schedulers, but it made no visible speedup.

	I have found the following two years old mail by Jens Axboe:
http://www.uwsg.iu.edu/hypermail/linux/kernel/0409.0/1330.html
- the problem at that time was that the device had its internal
command queue deeper than the nr_requests of the block device layer,
so the I/O scheduler couldn't do anything.  I was surprised
that the situation is still the same: I have

/sys/block/sd[a-h]/queue/nr_requests == 128, and
/sys/devices/pci0000:00/0000:00:0b.0/0000:01:03.0/host0/target*/*/queue_depth == 254

I have verified that even on older 3ware drivers (7508) the situation
is the same. On the newer hardware it is probably more visible, because
the controller actually has bigger on-board cache (128MB vs. 32MB, I think).

	I have tried to lower the /sys/devices/.../queue_depth to 4
and disable the NCQ, and the latency got a bit better. But it is still
nowhere near to where it was on the older HW.

	Does anybody experience the similar latency problems with
3ware 95xx controllers? Thanks,

-Yenya

[1] the old configuration peaked at ~2k-4k messages per 5 minutes,
	with 1k-2k messages/5min being pretty normal, while the new one
	has maximum throughput of 1k messages per 5 minutes, but the normal
	speed is much lower - some low hundreds messages per 5 minutes.
	The new system runs about the same load as the previous one,
	and the layout of disks is also the same (just the newer drives
	are bigger, of course).


-- 
| Jan "Yenya" Kasprzak  <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839      Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/    Journal: http://www.fi.muni.cz/~kas/blog/ |
> I will never go to meetings again because I think  face to face meetings <
> are the biggest waste of time you can ever have.        --Linus Torvalds <

^ permalink raw reply	[flat|nested] 13+ messages in thread
* Re: 3ware disk latency?
@ 2006-08-02 11:48 Dieter Stüken
  0 siblings, 0 replies; 13+ messages in thread
From: Dieter Stüken @ 2006-08-02 11:48 UTC (permalink / raw)
  To: linux-kernel

Jan Kasprzak wrote: 
> dean gaudet wrote:
> 
> : my suspicion is the 3ware lacks any sort of "fairness" in its sharing of
> : buffer space between multiple units on the same controller.  and by
> : disabling the write caching it limits the amount of controller memory that
> : the busy disk can consume.
> 
>         Hmm, do you have a battery backup unit for 9550sx? I don't,
> and the 3ware BIOS does not even allow me to enable write caching without it.
> So I don't think the write caching on the controller side is related
> to my problem.
> 
>         I have been able to improve the latency by upgrading the firmware
> to the newest release (wow, they even have a firmware updating utility
> for Linux!).
> 

I just discovered this thread, as I have similar problems
with my 9550sx. I will perform a firmware upgrade tomorrow,
hope that helps. I have a BBU installed, thus my controller
should be able to handle concurrent requests for read and write.

But I also want to understand, what causes this problems. I have
several VMWare servers running on a RAID5 setup. Several times
a day I observe periods of excessive IO-waits and the guest systems
become unusable for a while. I may use "top", but all I see is
the high iowait and 4 idling processors. I not even found which
processes are actually waiting. Is there a way to trace,
which IO requests are pending, their block numbers and the
process ids that issued the requests? I found there are different
IO scheduler available, which have access to all these informations.
Is it possible to plug in some debug module to trace the IO
traffic similar to "strace" for processes?

Dieter.


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2006-08-02 11:49 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-10 14:13 3ware disk latency? Jan Kasprzak
2006-07-26 16:52 ` dean gaudet
2006-07-26 20:37   ` Alan Cox
2006-07-26 21:53     ` dean gaudet
2006-07-26 22:07       ` adam radford
2006-07-26 22:10         ` Justin Piszcz
2006-07-26 22:48         ` Jeff V. Merkey
2006-07-26 22:20           ` adam radford
2006-07-27  3:00         ` dean gaudet
2006-07-27 13:42           ` Jan Kasprzak
2006-07-27 12:11       ` Jan Kasprzak
2006-07-27 18:30         ` David Lang
  -- strict thread matches above, loose matches on Subject: below --
2006-08-02 11:48 Dieter Stüken

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox