If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

 
Go Back  dBforums > Database Server Software > Informix > No LRU Writes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 03-12-04, 11:08
etae9090 etae9090 is offline
Registered User
 
Join Date: Mar 2004
Posts: 1
No LRU Writes

I am trying to tune checkpoint time for an Informix 9.21 instance on a solaris box... and no matter what I do I always get long checkpoints because it appears that I only have chunk writes ... never LRU writes ...

Here are the relevant bits of the onconfig:

BUFFERS 768000
LRUS 8
CLEANERS 8
LRU_MAX_DIRTY = 2
LRU_MIN_DIRTY = 1
CKPTINTVL = 300

The weird thing is that onstat -F shows only chunk writes (no LRU writes or foreground writes). onstat -R shows the actual dirty buffers is way past the number that should trigger LRU writes ... but they never happen.

I will be increasing the LRU/CLEANERS up to 128 since that makes it easier to hit the dirty ratio (so says onstat -R in my test env anyway since the % is a ratio of LRUS to buffers) but I am worried that ALL the writing is happening as a CHUNK write during a checkpoint which is dragging the system down ...

Any help would be appreciated.
Reply With Quote
  #2 (permalink)  
Old 03-16-04, 08:18
gurey gurey is offline
Registered User
 
Join Date: Aug 2003
Location: Argentina
Posts: 780
Re: No LRU Writes

Quote:
Originally posted by etae9090
I am trying to tune checkpoint time for an Informix 9.21 instance on a solaris box... and no matter what I do I always get long checkpoints because it appears that I only have chunk writes ... never LRU writes ...

Here are the relevant bits of the onconfig:

BUFFERS 768000
LRUS 8
CLEANERS 8
LRU_MAX_DIRTY = 2
LRU_MIN_DIRTY = 1
CKPTINTVL = 300

The weird thing is that onstat -F shows only chunk writes (no LRU writes or foreground writes). onstat -R shows the actual dirty buffers is way past the number that should trigger LRU writes ... but they never happen.

I will be increasing the LRU/CLEANERS up to 128 since that makes it easier to hit the dirty ratio (so says onstat -R in my test env anyway since the % is a ratio of LRUS to buffers) but I am worried that ALL the writing is happening as a CHUNK write during a checkpoint which is dragging the system down ...

Any help would be appreciated.
Hi,

The chunks write is the best operation. The problem is if exist foreground write.
Now, if checkpoint time are big, then please send me output of onstat -d, onstat -m, onstat -F, onstat -R and ONCONFIG file.

Thanks

Gustavo.
Reply With Quote
  #3 (permalink)  
Old 03-23-04, 09:34
fprose fprose is offline
Registered User
 
Join Date: Apr 2003
Location: Phoenix, AZ
Posts: 177
Based upon the number of buffers/LRU's you would need 1920 dirty pages before the flush would start. Since your checkpoint interval is 300 seconds you might try timing a "onstat -R" just before the checkpoint would naturally occure.

I think most people would disagree with the previous post - you DO NOT want Chunk Writes.

There's several causes for a long checkpoint. Obviously, the number of pages to be flushed is one cause. Q: How many pages does the checkpoint message say it flushed when it occures?

Also keep in mind that the Physical log plays a very important role in the checkpoint process. The placement (and number) of affected db spaces also has a big influence.

How are these db spaces (including physical and logical logs) positioned?
How many dbspaces are actually affected by the checkpoint. If it's a very few dbspaces you will have little or no parrallel activity.

Before I considered a dramatic increase of LRU's (from 8 to 128) I'd consider lowering the dirty threshholds to 1 and 0.
__________________
Fred Prose
Reply With Quote
  #4 (permalink)  
Old 03-24-04, 14:31
RobP RobP is offline
Registered User
 
Join Date: Mar 2004
Location: Netherlands
Posts: 183
Setting the LRU cleaning parameters to 1 and 0 is a solution. But in heavy load systems the 0 setting culd be a problem. The problem could be several things, maybe tou can monitor the database state during a checkpoint. Is it (CKPT REQ) then the cleaning itself is not the problem, but stopping all critical sections is (quite difficult to solve), is it (CKPT) then the real clening is the problem.

Especially for the cleaning problem IDS 9.40 has a new 'feature'. LRU max and MIN dirty can now be percentages (like 0.0002) this features is very usefull if you have a relatively large bufferpool.

Greetings,

Rob Prop
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On