473,651 Members | 2,765 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

"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 8214


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_IOSERV ERS (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
2494
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 to get my MSDN documentation to work?!? I'm dead in the water here, so any help is greatly appreciated. Tom
0
356
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 tables linked in parent/child relationships. I'm using a form to choose the main-parent and then several subforms in datasheet view.
1
2883
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 correctly. 3078" after I migrated "MS Access 2000" to "MS SQL Server 2000" and relinked all linked tables. The front-end interface of my application is MS Access 2000. The back-end is MS SQL Server 2000. After I migrated the database and
9
6009
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 localtime_r and asctime_r where I was using localtime and asctime. But I didn't find any correspondent _r function to "time".Also, I found that "readdir" is not thread safe. But what about "scandir"? Thanks for any help
0
1099
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 implementation for "ms-help" included in the framework as standard. Does such an implementation exist somewhere?. Failing that, has anyone been able to do this using some other method? Kunle
4
1638
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, Genc Ymeri QuadraMed, VA
2
1795
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
868
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. when you've waited long enough, use os.kill to kill the process. (if you want to terminate a function in your own program, you can use the alarm signal. see e.g. http://code.activestate.com/recipes/307871/ )
4
3495
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 have many other such items from which I want to use only the _time_ portion (e.g. 8:59:17). How do I eliminate the "date" portions of either the time_t value or the number I assign to it? TIA
0
8357
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8277
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8803
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
8465
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 Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
5612
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4144
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4285
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
2701
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
1
1910
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.