Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: ORACLE on Linux - IO bottleneck
Wyvern wrote:
>
> As you say in your previous post, without an IO scheduler, we may have
> a problem if we have an oracle 8K block size and a device (sdc, sdd,
> etc ...) 1K blocksize. Is it right?. Before reading your post, I
> thought that using direct IO let us not worrying about device´s
> blocksize but .... now I´m in doubt...
>
Sorry,
I think I confused you with the previous post.
A raw device is a character device and as far as I know the I/O elevator
(so in a 2.4 kernel) cannot operate on such devices (it works on block
device). Things can be different if RH has backported something from
kernel 2.6... and that's I cannot say for sure.
In my example I showed the same dd, on the same hardware and device. The difference: in the first case the I/O was not merged while in the second one it was.
Below you can see the iostat related to the previous post.
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
ida/c0d1 0.00 0.00 0.00 246.46 0.00 3943.43 0.00 1971.72 16.00 0.99 4.02 4.02 99.19
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s
avgrq-sz avgqu-sz await svctm %util
ida/c0d1 0.00 9277.00 0.00 328.00 0.00 76776.00 0.00
38388.00 234.07 142.87 383.93 3.05 100.10
The kernel is 2.6 so the I/O on raw can be bigger than 512 byte (as you
can see it is done in 8k requests).
The first case show direct I/O (syncronous).
The second one a buffered I/O.
The I/O scheduler clearly merges the writes (second line). Resulting in in 328 writes in a second (average: 117K each) and this cause the big difference in performance.
>
> What do you recommend: "aligning" both block sizes (we have unique
> oracle block size - 8K) or using an IO scheduler (IO elevator as you
> said previously in kernel 2.4) ??
>
Personally I'd try a filesystem, in your case (you already stated you don't wish to upgrade to 2.6 kernel).
What do you mean saying that your device had 1k block size?!? Isn't you using it "raw"?
Regards
-- Fabrizio Magni fabrizio.magni_at_mycontinent.com replace mycontinent with europeReceived on Thu Feb 09 2006 - 10:15:57 CST