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

Home -> Community -> Mailing Lists -> Oracle-L -> Re:Response times with different multiblock read count

Re:Response times with different multiblock read count

From: <dgoulet_at_vicr.com>
Date: Thu, 29 Mar 2001 05:50:44 -0800
Message-ID: <F001.002DB4B1.20010329053059@fatcity.com>

You may be running into a limitation of HP-UX that can cause this problem. In HP-UX during any one time slice the SO will return a MAX of 32K of data from disk. This does take a little thought to understand. The OS is multitasking between all of the processes. To do so it breaks time up into equal parts called a 'time slice'. It is during this time slice that your process has the full attention of the CPU, but your disk reads are a system process run during a different time slice of a much higher level process. This process leaves the data in a buffer that you can then access during your time slice. That's all well and good, but if HP allowed you to retrieve all of the data you wanted at one time then the system disk read process would consume more and more of the available time slices, since it runs at a higher priority or "nice" level, and the disk buffer would become totally useless to everyone else. Consequently they arbitrarily set the max amount of data that can be retrieved to 32K. Yes it's odd, but that's the way it is. This also gets affected by the number of processes that run on the machine as well and the number that are "waiting" on something and therefore relinquish their time slice.

This is strange, odd, and very confusing. It took our HP CE over an hour to explain it to me and I'm not totally sure I understand, but from observation I can tell you that it is true. Try the same query with the same multi_block_read_count when the system is busy, and when your the only one there.

Dick Goulet

____________________Reply Separator____________________
Author: Prasada.Gunda1_at_hartfordlife.com
Date:       3/28/2001 8:25 AM


Hi All,

I am running a test query with different db_file_multiblock_read_count to test the overall throughput.

environment : oracle 8.1.6 on hp-ux v11 db_block_size : 16k
system is using LVM and file system is using buffered I/O and disk is mirrored but not stripped.

I was expecting that having larger multiblock count would result in better performance. But, when I was testing the query with smaller multiblock count,the response time is better.

Here is the testing result.

Multiblock     time in Secs
----------     ------------
1           12.5   better
2              12.5   better
4              12.6   better
8              27     bad
16             27     bad
32             18.6   okay
64             19.0   okay

I don't understand why 8,16 are taking longer time. I did make sure that oracle is issuing proper multiblock read count with the help of multiblock_read_test.sql which is available in Steve Adams's site. Thank you steve for providing valuable information & scripts on your web site.

select statement that I am using is,
select /*+ full(t) noparallel(t) nocache(t) */ count(*) from &Table t;

I am clueless why it is behaving like this. Please pass your suggestions. If you need more info like oracle/OS settings etc, please let me know.

When I was doing some reading on steve adam's site, he suggests the following.

Date: 29-Dec-2000 20:55
Nevertheless, it remains best to allow Oracle to use large multiblock reads, as long as the optimizer is not doing
inappropriate full scans. The explanation relates to the system call and context switch overheads associated with I/O.
It is cheaper in CPU usage terms to request a 256K I/O and allow the operating system to service it in 64K chunks,
than to request 4 I/O's of 64K each. As is mentioned in the tip on Why Large Multiblock Reads, the increased
latency is not an issue because multiblock reads should not be used in cases where "first rows" response time is
critical.

Thanks in advance.
Best Regards,
Prasad

--

Please see the official ORACLE-L FAQ: http://www.orafaq.com
--

Author:
  INET: Prasada.Gunda1_at_hartfordlife.com

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).
--

Please see the official ORACLE-L FAQ: http://www.orafaq.com
--

Author:
  INET: dgoulet_at_vicr.com
Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). Received on Thu Mar 29 2001 - 07:50:44 CST

Original text of this message

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