473,412 Members | 2,277 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,412 software developers and data experts.

"Time waited for prefetch (ms)" very high

Hi all,

Ive got a database approx 350 GB in which Im getting very high Time
waited for prefetch. This is directly out of the snapshot for the db
(these are for the entire database I assume as I pulled it out of get
snapshot for all on {dbname})

Total buffer pool read time (milliseconds) = 45660639
Total buffer pool write time (milliseconds)= 42128058
Total elapsed asynchronous read time = 33856320
Total elapsed asynchronous write time = 21817205
Asynchronous data read requests = 2127045
Asynchronous index read requests = 92769
No victim buffers available = 8785764
LSN Gap cleaner triggers = 691047
Dirty page steal cleaner triggers = 1298
Dirty page threshold cleaner triggers = 6637
Time waited for prefetch (ms) = 2386004
Unread prefetch pages = 945322
Direct reads = 3298851768
Direct writes = 17558698
Direct read requests = 6794130
Direct write requests = 69421
Direct reads elapsed time (ms) = 60671696
Direct write elapsed time (ms) = 3467406
Database files closed = 240580
Data pages copied to extended storage = 0
Index pages copied to extended storage = 0
Data pages copied from extended storage = 0
Index pages copied from extended storage = 0
so with those figures in mind, is the 40 minutes I see in time waited
for prefetch too high? Ive read repetedly that If its in the seconds
you should be concerned...but Ive not read much about fixing it other
than increase IO_Servers (which I did to 20) and prefetch size (which
is 20 times the extent size) and turn on IO parrallelism (which is
DB2_PARALLEL_IO=*) and make sure your using a raid array (which were
using an IBM San machine which uses for our Lpar at least 16-20 disks)
So what am I missing?

Jul 31 '06 #1
3 8176


may be it is problem with dirty pages.
give low values to the changed page threshold database configuration
parameter (CHNGPGS_THRESH) and try

(may be 60% give relatively low value and try)

Aug 1 '06 #2
Are you concerned of the "prefetch wait time" because the value is too
high or is it because the response time / performance of the queries /
system is not good.

Prefetches are most often (always?) asynchronous - so lets look at your
async numbers.
You stats indicate about 2,000,000 reads (approx) (Asynchronous data
read requests = 2127045).
All that async reads took about 33,000,000 units (ms?) (Total elapsed
asynchronous read time = 33856320)
Of that the prefetch wait time was about 2,000,000 ms (Time waited for
prefetch (ms) = 2386004)

Thus your wait ratio was about 1/15 or about 7% of the total read time.
That is not excessive, relatively speaking.

I would use the prefetch wait time in conjunction with (or in support
of) other data elements and not as a standalone entity.
rdudejr wrote:
Hi all,

Ive got a database approx 350 GB in which Im getting very high Time
waited for prefetch. This is directly out of the snapshot for the db
(these are for the entire database I assume as I pulled it out of get
snapshot for all on {dbname})

Total buffer pool read time (milliseconds) = 45660639
Total buffer pool write time (milliseconds)= 42128058
Total elapsed asynchronous read time = 33856320
Total elapsed asynchronous write time = 21817205
Asynchronous data read requests = 2127045
Asynchronous index read requests = 92769
No victim buffers available = 8785764
LSN Gap cleaner triggers = 691047
Dirty page steal cleaner triggers = 1298
Dirty page threshold cleaner triggers = 6637
Time waited for prefetch (ms) = 2386004
Unread prefetch pages = 945322
Direct reads = 3298851768
Direct writes = 17558698
Direct read requests = 6794130
Direct write requests = 69421
Direct reads elapsed time (ms) = 60671696
Direct write elapsed time (ms) = 3467406
Database files closed = 240580
Data pages copied to extended storage = 0
Index pages copied to extended storage = 0
Data pages copied from extended storage = 0
Index pages copied from extended storage = 0
so with those figures in mind, is the 40 minutes I see in time waited
for prefetch too high? Ive read repetedly that If its in the seconds
you should be concerned...but Ive not read much about fixing it other
than increase IO_Servers (which I did to 20) and prefetch size (which
is 20 times the extent size) and turn on IO parrallelism (which is
DB2_PARALLEL_IO=*) and make sure your using a raid array (which were
using an IBM San machine which uses for our Lpar at least 16-20 disks)
So what am I missing?
Aug 1 '06 #3
I was mostly concerned with the Time waited for prefetch value because
of this statement in a tuning guide I found on IBMs site:
http://www-128.ibm.com/developerwork...-0404mcarthur/

"NUM_IOSERVERS (DB)
I/O servers are used to perform prefetching and this parameter
specifies the maximum number of I/O servers for a database.
Non-prefetch I/Os are scheduled directly from the database agents and
as a result are not constrained by this parameter. Start by setting
equal to the number of physical disks that the database resides on
(even if many disks in a disk array or many disks in a logical volume)
+ 1 or 2, but not more than 4-6 times the # of CPUs. Having too large a
value will not hurt performance, unless it exceeds the 4-6 times the #
of CPUs.

If you see "Time waited for prefetch (ms)" in the seconds, you may want
to add an IO Server to see if performance improves.
"

And as for the dirty page steal cleaners, I only started seeing those
alot after I changed the the extent:prefetch ratio on all the table
spaces from 1:4 to 1:20, and changed the IOSERVERS from 10-20. I also
started seeing the great number of unread prefetch pages, which I
really did not see before doing that.

The other reason why I was doing this is because were trying to boost
performance on this db. Although I really dont know bench marks as far
as where it should be. So Im looking for bottlenecks, and this was a
candidate. Anyways, our CHNGPGS_THRESH is 45, which from what I read
is 15 less than the default value, but Im going to try lowering it some
more. Before I do so, though, is there any negative reprocussions to
having it too low? The only one I can think of is having all your IO
cleaners kick off more times than nessesary, which would eat up your
CPU. Am I on the right track?

Aug 1 '06 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

7
by: tcarvin | last post by:
The .NET studio help system seems to use these odd URLs to locate (html) help files to display. But on my system, I get "Server not found" web errors whenever I access Help. What do I have to do...
0
by: Paul Malcomson | last post by:
Hi. I'm having terrible trouble with a form that displays several parent/child relationships at one time. It is a sales force hierarchy - Sales force, district, territory, sales rep are the...
1
by: bonnie.tangyn | last post by:
Hello all I get Too few parameters expected 2 error and "The MS Jet Database engine cannot find the input table or query "myTempTablename". Make sure it exists and that its name is spelled...
9
by: rnn98 | last post by:
hi, my multithread application, running under solaris box, is crashing eventually. I tried to spot and substitute functions not "thread safe", but I guess my search wasn't good enough. I have put...
0
by: Kunle Odutola | last post by:
I'd like to access a few docs in the VS.NET help collection from a .NET app. The obvious WebClient/WebRequest/WebResponse solution isn't working because their is no pluggable protocol...
4
by: genc_ymeri | last post by:
Hi, I needed a web browser component in a C# win form and I realized the I had to use the COM MS web browser (..\shdocvw.dll). Is there any better solution ? Thank you very much in advance,...
2
by: Ben | last post by:
Hi, i use the login control with the option "remember me next time". What's the default expire time and is it possible to change it? Thanks Ben
0
by: Fredrik Lundh | last post by:
Carl J. Van Arsdall wrote: simple approach: use subprocess.Popen to fork off the external command, then sleep for a short while, check if it's done, sleep a little longer if it hasn't, etc. ...
4
by: Mike Copeland | last post by:
How do I mask out all but the _time_ components of a time_t value? Specifically, I have the following: time_t wTime = 1226764757; I happen to know that this is November 16, 2008 @ 8:59:17, but I...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.