Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: os io unit , db block size relation

Re: os io unit , db block size relation

From: FM <fabrizio.magni_at_mycontinent.com>
Date: Thu, 16 Sep 2004 20:53:36 GMT
Message-ID: <k3n2d.264052$OR2.11933243@news3.tin.it>


I'm still waiting for a reply from Godard but reviewing your math and the result you posted I'm starting to believe caching has nothing to do with the missing bytes.

What if the metrics are average on seconds?

The time period of your iostat is 5 seconds. So:

5526.00 (sectors per second) * 512 (bytes) * 5 (seconds)= 14146560 (bytes)

Now you have to understand whre 3660800 bytes come from. Were you using the device for other porpuses?

Fabrizio

utkanbir wrote:

> Hi Fabrizio,
>
> Thank you very much for your help.
>
> I have made a small test:
>
> [oracle_at_tanidw1 tolga]$ time strace -T dd
> if=/oracle/ett/data/current/tanduyurus
> ure.txt of=/dev/null bs=10485760 count=5
>
> Here i try to read 5 10MB. blocks from a file which is stored in ext3
> file system.The file system is also part of raid10 array which is EMC
> . We use 960kb. of stripe size and have one io channel.
>
> Before running this command , i execute iostat -x /dev/sdm1 20 on
> another terminal .
>
> Here is the strace output :
>
> read(0, "DUYURU_KOD|UYE_ISYERI_KOD|SUBE_K"..., 10485760) = 10485760
> <0.594360>
> write(1, "DUYURU_KOD|UYE_ISYERI_KOD|SUBE_K"..., 10485760) = 10485760
> <0.000008>
> read(0, "42\n3133|2|33|485|20040914000000|"..., 10485760) = 10485760
> <0.409270>
> write(1, "42\n3133|2|33|485|20040914000000|"..., 10485760) = 10485760
> <0.000012>
> read(0, "1508|20040914000000|094029|8|1|1"..., 10485760) = 10485760
> <0.462430>
> write(1, "1508|20040914000000|094029|8|1|1"..., 10485760) = 10485760
> <0.000012>
> read(0, "124457\n896|497|1|3352|2004091400"..., 10485760) = 10485760
> <0.437568>
> write(1, "124457\n896|497|1|3352|2004091400"..., 10485760) = 10485760
> <0.000013>
> read(0, "1|2|99|1054|20040914000000|17451"..., 10485760) = 10485760
> <0.317013>
> write(1, "1|2|99|1054|20040914000000|17451"..., 10485760) = 10485760
> <0.000008>
> munmap(0x2000000000308000, 10534912) = 0 <0.000611>
>
> real 0m3.075s
> user 0m0.006s
> sys 0m0.088s
>
> And , iostat values :
>
> avg-cpu: %user %nice %sys %idle
> 253.93 0.00 12.25 757.83
>
> Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz
> await svctm %util
> sdm1 590.70 0.05 100.05 0.40 5526.00 3.60 55.05 6.81
> 67.80 1.51 15.53
>
>
> It is clear that the dd command reads 50MB. I want to see this in
> iostat command :
>
> iostat says 5526.00 sectors are read. So this is 2763 KB.
> (5526*521bytes )
>
> I dont know which part i missed? (May be i forgot the simple math !)

-- 

Fabrizio Magni

fabrizio.magni_at_mycontinent.com

replace mycontinent with europe
Received on Thu Sep 16 2004 - 15:53:36 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US