LRUS, CLEANERS, BUFFERS and # of disks (dbspaces)
Posted in 2000
Topics: Storage & Space Management
I doubled BUFFERS on system because I noticed that BTR=bufwaits*100/(pagreads+bufwrits) is very bad. But there is no changes in BTR. I think that problem is in LRU queues. Is it possible to say what is the best number of LRUS and CLEANERS? Does it depend on number of disks and/or dbspaces? Is number of BUFFERS important for calculating # of LRUS and CLEANERS? Is it wrong to put LRUS=8 and CLEANERS=1? If yes - what are your recommendations? Number of users on system 20 - 30. System is application and DB server. OS SCO OpenServer 5.x HW 2 CPU Pentium, 128 M RAM, 2 disks Informix 7.3x DS
Nebojsa Sevo schrieb: > > I doubled BUFFERS on system because I noticed that > BTR=bufwaits*100/(pagreads+bufwrits) > is very bad. But there is no changes in BTR. I think that problem is in LRU > queues. > > Is it possible to say what is the best number of LRUS and CLEANERS? Does it > depend on number of disks and/or dbspaces? Is number of BUFFERS important for > calculating # of LRUS and CLEANERS? > Is it wrong to put LRUS=8 and CLEANERS=1? If yes - what are your > recommendations? > > Number of users on system 20 - 30. System is application and DB server. > OS SCO OpenServer 5.x > HW 2 CPU Pentium, 128 M RAM, 2 disks > Informix 7.3x DS There are some rules which should be mentioned: Value for CLEANERS should be greater or equal to the value of LRUS !!! I would increase LRUS = 32 and CLEANERS = 32. Sometime ago there was a hint for a ratio of 750 BUFFERS / LRUS in this NG. So up to about 50 MB or 25000 BUFFERS can be configured to fullfil this advice. You should use all free available memory to Informix to increase perfomrance. But you should avoid using to much memory. This will page-out memory pages to disk. Regards Frank
What is BTR ? Nebojsa Sevo wrote: > I doubled BUFFERS on system because I noticed that > BTR=bufwaits*100/(pagreads+bufwrits) > is very bad. But there is no changes in BTR.
"Nebojsa Sevo" <mips@zg.tel.hr> wrote in message news:9ebq1t4kn0mpvvmlmj6b1a8eeioillctmq@4ax.com... > I doubled BUFFERS on system because I noticed that > BTR=bufwaits*100/(pagreads+bufwrits) > is very bad. But there is no changes in BTR. I think that problem is in LRU > queues. > > Is it possible to say what is the best number of LRUS and CLEANERS? Does it > depend on number of disks and/or dbspaces? Is number of BUFFERS important for > calculating # of LRUS and CLEANERS? > Is it wrong to put LRUS=8 and CLEANERS=1? If yes - what are your > recommendations? I'd start with LRUS=4 (which is the minimum) and CLEANERS=6. You did not mention your LRU_MAX/MIN_DIRTY settings, but with a high buffer wait ratio I assume these are quite high. Reduce them and the BTR will drop. It also helps against long checkpoints. On the other side it affects the buffer write quality. You must find the balance. > > Number of users on system 20 - 30. System is application and DB server. > OS SCO OpenServer 5.x > HW 2 CPU Pentium, 128 M RAM, 2 disks > Informix 7.3x DS HTH Christian -- The opinions stated above are my own and not necessarily those of my employer.
A problem with the BUFWAITS Ratio is most likely caused by contention for
the LRU queues rather than for buffers. So, as you have discovered, adding
to BUFFERS has little effect (better to watch onstat -P output to check
if there are enough buffers). As for how to configure, as Frank pointed out
CLEANER >= LRUS is the rule to speed checkpoint processing and inline buffer
flushing as well under load. As for the number of LRUS you need, it is more
related to the number of users and the Buffer Turnover Rate than the number
of buffers itself. With more users or with a higher rate of buffers being
replaced by other pages you will see increased LRU contention and so will
need more. It is really hard to predict, however, you can always set to the
maximum (128) which will cost little in memory and improve almost any
installation. Whatever you do avoid LRUS=64 and LRUS=96 these values (and I
also suspect LRUS=32 but have no proof) trigger a bug in the LRU rehash
algorithm, that Informix has never admitted to let alone fixed, which will
send your bufwaits through the roof. If you still have bufwaits problems
with LRUS=128 you will have to start playing with the LRUPOLICY (an
undocumented onconfig parameter) to adjust how tasks select LRUS and when
they rehash -vs- spin-waiting.
Art S. Kagel
Nebojsa Sevo wrote:
>
> I doubled BUFFERS on system because I noticed that
> BTR=bufwaits*100/(pagreads+bufwrits)
> is very bad. But there is no changes in BTR. I think that problem is in LRU
> queues.
>
> Is it possible to say what is the best number of LRUS and CLEANERS? Does it
> depend on number of disks and/or dbspaces? Is number of BUFFERS important for
> calculating # of LRUS and CLEANERS?
> Is it wrong to put LRUS=8 and CLEANERS=1? If yes - what are your
> recommendations?
>
> Number of users on system 20 - 30. System is application and DB server.
> OS SCO OpenServer 5.x
> HW 2 CPU Pentium, 128 M RAM, 2 disks
> Informix 7.3x DS