Re: Write cache help
Posted in 1999
Topics: Logging & Checkpoints
Hi Rudy and All, Thank you everybody give me your comments and input, I will try your advices. Rudy, The reason is set CKPTINTVL to 90 because it I set it to 300 then my checkpoint duration increased upto 20sec. --Wayne In article <38281716.3737648D@americasm01.nt.com>, Rudy Fernandes <rferdy@americasm01.nt.com> wrote: > Unless you have a good reason for your CKPTINTVL setting, I would consider > increasing CKPTINTVL from 90 to 180 as the first step. This would allow > 'dirty' pages to be hit more often prior to being 'cleaned' during a > checkpoint. If, in fact, your application is working with a small subset of > your database (as is usually the case with OLTP systems), you could find > your write cache rate improving. > > What is your reasoning for a CKPTINTVL 90 setting, anyway? > > Rudy > > Wayne Trieu wrote: > > > Hi all, > > Can some one please help me how to increase write cache, right > > now my cache is about 73% it seem low. I've tried all source recommend I > > see on this group, but did not help. May be I done something wrong. I > > hope some one can look at my config file and give me some hits. Thanks > > in advance for any input and very appreciated. > > > > My system config as follow: > > ... > > -- Wayne Trieu Sent via Deja.com http://www.deja.com/ Before you buy.
Wayne Trieu wrote: > > Hi Rudy and All, > Thank you everybody give me your comments and input, I will try > your advices. > > Rudy, > The reason is set CKPTINTVL to 90 because it I set it to 300 > then my checkpoint duration increased upto 20sec. Well then you will either have to get a faster disk farm (another thinly disguised and shameless push for RAID10) or live with lowered cache hit ratios. Anyway, try the other suggestions I and others have posted. It may help somewhat anyway. Oh and don't poo poo the effect of RAID5, its write performance is 1/2 of a RAID0 stripe set the same size and a RAID 10 array will be slightly faster than RAID0 due to alternating writes to the mirrored pairs. That makes those 20 second checkpoints closer to 10 seconds. Art S. Kagel
Wayne Trieu wrote:
> Hi Rudy and All,
> Thank you everybody give me your comments and input, I will try
> your advices.
>
> Rudy,
> The reason is set CKPTINTVL to 90 because it I set it to 300
> then my checkpoint duration increased upto 20sec.
>
> --Wayne
>
Actually CKPTINTVL should not affect checkpoint duration unless (a) LRU
cleaning is not kicking in at all - no LRU writes (onstat -F) or (b) Your
I/O sub-system is so bad that it can not keep up with Informix's clean
requests (I've seen this happen under Raid5). You could confirm the latter
by monitoring the state of your LRU queues between checkpoints (onstat
-R). If the % of modified buffers is consistently above the MAX_DIRTY (see
the last few lines), you could be having an I/O subsystem problem. I would
think, then, that Art's suggestion to move away from Raid5 to Raid10
should be your long-term goal.
In the short term, or if your I/O subsystem seems to be behaving, you
could try to controlling checkpoint duration through your LRU_MAX.. and
MIN parameters. Try changing your current values of 3 and 1 to 2 and 1
respectively.
BUFFERS also affect checkpoint duration (because the LRU parameters are
percent values on BUFFERS). If the "onstat -p" figures you posted do
represent values for 28 hours (up 1 day 4 hours) of representative
activity- that is, you didn't "onstat -z" in between and the 28 hours had
a decent working day within - you might consider reducing BUFFERS
gradually while monitoring your read cache %.
I would be willing to wager....well, half my lunch ... on the theory that
your system would be better off with BUFFERS=300000, LRU_MAX and MIN at 2
and 1 and CKPTINTVL at 180.
Further, I wouldn't be surprised (although I wouldn't bet anything) if
your system performed better with BUFFERS=200000, LRU_MAX and MIN at 3 and
2 and CKPTINTVL at 300.
Caution : I you decide to fiddle with these parameters, do them GRADUALLY.
A typical change profile would go something like this
Period 0 : BUFFERS unchanged, LRU_MAX/MIN 2 and 1, CKPTINTVL unchanged.
Period 1 : BUFFERS 500000, LRU_MAX/MIN 2/1, CKPTINTVL 120
Period 2 : BUFFERS 400000, LRU_MAX/MIN 2/1, CKPTINTVL 150
Period 3 : BUFFERS 300000, LRU_MAX/MIN 2/1, CKPTINTVL 180
Period 4 : If checkpoint duration still good, change LRU_MAX/MIN to 3/2.
Monitor
where "period" could be a week, half a week, or (for the brave) a day.
Through these changes, monitor checkpoint duration, read & write cache hit
% and performance (talk to users).
Cheers,
Rudy