tuning checkpoint duration
Posted in 1999
Topics: Performance & Tuning, Stored Procedures & SPL, Logging & Checkpoints, Versions, Editions & End-of-Life
I know this is a common question, but I've tried to implement the common
wisdom and I'm still having trouble.
I'm running IDS 7.3TC7 on Windows NT 4.0 sp3. I've got 290K buffers, 15
LRUs and 5 cleaners. LRU_MAX_DIRTY is 1, LRU_MIN_DIRTY is 0.
Checkpoints are every 15 minutes. I only have two disks, and I've tried
to split the I/O down the middle, 1/2 on each.
My environment has a fair number of writers and queries which need to
complete quickly (< 10seconds).
I often see the cleaners idle (onstat -F) even with 10K dirty pages
(>3%). Something causes them to wake up and clean, but they don't
really keep the LRUs clean enough to keep my checkpoints short. My
checkpoints are taking 30-60 seconds which is way too long.
If all the LRUs are over LRU_MAX_DIRTY, why don't the cleaners wake up?
Or are they on some type of timer?
I would appreciate any ideas or comments...
Cheers
I have also observed this kind of behavior on IDS 7.24UC7 on Solaris. I've
got 200,000 buffers, 5 CPU VPS, 20 LRUS, 20 Page Cleaners, LRU MAX 15, LRU
MIN 10, lots of disks. I've seen my LRU queues reach as high as 100% with
only a few cleaners doing their job. This resulted to foreground writes bec.
the other page cleaners were lazy.
This was on a particular load job. I know, I should have increased LRU MIN/MAX
to maximize load performance. I just wanted to see what the engine would do.
By the way, you could see it clearly using DB/Cockpit, Shared Memory section.
Yup, the other page cleaners were definitely lazy. Bad page cleaners. :-)
Lyzander
In article <372DCFA8.73FA377C@computer.org>,
Jay Walters <jwalters@computer.org> wrote:
> I know this is a common question, but I've tried to implement the common
> wisdom and I'm still having trouble.
>
> I'm running IDS 7.3TC7 on Windows NT 4.0 sp3. I've got 290K buffers, 15
> LRUs and 5 cleaners. LRU_MAX_DIRTY is 1, LRU_MIN_DIRTY is 0.
> Checkpoints are every 15 minutes. I only have two disks, and I've tried
> to split the I/O down the middle, 1/2 on each.
>
> My environment has a fair number of writers and queries which need to
> complete quickly (< 10seconds).
>
> I often see the cleaners idle (onstat -F) even with 10K dirty pages
> (>3%). Something causes them to wake up and clean, but they don't
> really keep the LRUs clean enough to keep my checkpoints short. My
> checkpoints are taking 30-60 seconds which is way too long.
>
> If all the LRUs are over LRU_MAX_DIRTY, why don't the cleaners wake up?
> Or are they on some type of timer?
>
> I would appreciate any ideas or comments...
>
> Cheers
>
>
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
In a performance tuning class working with IDS 7.30 we had the impression that
the LRU_MIN/MAX parameters were not adapted for use with the redesigned new
classes (priority levels) of dirty pages. Before 7.30 there was only one class
of dirty pages; now there are several priorities (onstat -R) and not all are
cleaned according to the same rules - or so I understood. If this is true then
all our common checkpoint tuning wisdom regarding low LRU_MIN/MAX is not valid
anymore ...
Would one of the Internal Architecture Wizards like to comment or clarify?
Cheers.
Ralph.
In article <7gl52u$nfv$1@nnrp1.dejanews.com>,
Lyzander Marantal <zandy@my-dejanews.com> wrote:
> I have also observed this kind of behavior on IDS 7.24UC7 on Solaris. I've
> got 200,000 buffers, 5 CPU VPS, 20 LRUS, 20 Page Cleaners, LRU MAX 15, LRU
> MIN 10, lots of disks. I've seen my LRU queues reach as high as 100% with
> only a few cleaners doing their job. This resulted to foreground writes bec.
> the other page cleaners were lazy.
>
> This was on a particular load job. I know, I should have increased LRU MIN/MAX
> to maximize load performance. I just wanted to see what the engine would do.
>
> By the way, you could see it clearly using DB/Cockpit, Shared Memory section.
> Yup, the other page cleaners were definitely lazy. Bad page cleaners. :-)
>
> Lyzander
>
> In article <372DCFA8.73FA377C@computer.org>,
> Jay Walters <jwalters@computer.org> wrote:
> > I know this is a common question, but I've tried to implement the common
> > wisdom and I'm still having trouble.
> >
> > I'm running IDS 7.3TC7 on Windows NT 4.0 sp3. I've got 290K buffers, 15
> > LRUs and 5 cleaners. LRU_MAX_DIRTY is 1, LRU_MIN_DIRTY is 0.
> > Checkpoints are every 15 minutes. I only have two disks, and I've tried
> > to split the I/O down the middle, 1/2 on each.
> >
> > My environment has a fair number of writers and queries which need to
> > complete quickly (< 10seconds).
> >
> > I often see the cleaners idle (onstat -F) even with 10K dirty pages
> > (>3%). Something causes them to wake up and clean, but they don't
> > really keep the LRUs clean enough to keep my checkpoints short. My
> > checkpoints are taking 30-60 seconds which is way too long.
> >
> > If all the LRUs are over LRU_MAX_DIRTY, why don't the cleaners wake up?
> > Or are they on some type of timer?
> >
> > I would appreciate any ideas or comments...
> >
> > Cheers
> >
> >
>
> -----------== Posted via Deja News, The Discussion Network ==----------
> http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
>
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own