Re: How do I check LRU contention - onstat -g spi ????
Posted in 2000
Topics: General Discussion
On Tue, 11 Apr 2000 13:30:59 -0400, "Art S. Kagel"
<kagel@bloomberg.net> wrote:
>bothwellno@spam.duke.edu wrote:
>
>> Art S. Kagel & Family <kagel@erols.com> wrote:
>> : InfoJones wrote:
>> : [output SNIPPED]
>>
>> : To determine whether buffer contention or LRU contention is involved
>> : try to calculate your buffer turnover rate:
>>
>> : Buffer Turnovers = (dskreads + bufwrits) / BUFFERS
>
>Buffer Turnovers = (pagreads + bufwrits) / BUFFERS
>
>>
>> : BTR = (Buffer Turnover) / (time since last stats clearing) expressed
>> : as turnovers per unit time.
>>
>> Should one multiply BUFFERS by page size in the Buffer Turnovers calculation
>> or go with just the value of BUFFERS from the config file?
>
>Just use BUFFERS as the reported numbers on the onstat -p report are in pages
>not KB. BTW the first formula above should be using pagreads not dskreads, mia
>culpa. See corrected formula above.
>
>>
>>
>> : If you are turning over your buffer pool more often than a few times
>> : an hour you probably need more buffers. Add buffers and check again.
What is a 'few' time an hour. I am showing 11 times per hour with a
buf_wait ratio of about 5%. Comments?
>>
>> : --
>> : Art S. Kagel & Family
>> : kagel@erols.com
>>
>> --
>> bothwellno@spam.duke.edu
>
Chris
Chris Burton wrote:
> >Buffer Turnovers = (pagreads + bufwrits) / BUFFERS
>
> What is a 'few' time an hour. I am showing 11 times per hour with a
> buf_wait ratio of about 5%. Comments?
>
[snip]
> Chris
I see similar numbers, though my buf_wait ratio regularly visits no-mans
land
(8-10). We're running 7.31.UC5 on a 4-way IBM H50 (332 MHZ) w/2 GB RAM,
& AIX
4.3.2. I am seeing a turnover rate anywhere from 6 to 14 per hour. This
is 'onstat -p'
from our system running about 15 hours since the last onstat -z:
Informix Dynamic Server Version 7.31.UC5 -- On-Line -- Up 2 days
09:29:11 --
915312 Kbytes
Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
7048290 8962516 472042006 98.51 605618 1379970 11671757 94.81
isamtot open start read write rewrite delete commit
rollbk
408326705 4814943 29625295 269744131 4571378 2336746 87967
111289 210
gp_read gp_write gp_rewrt gp_del gp_alloc gp_free gp_curs
0 0 0 0 0 0 0
ovlock ovuserthread ovbuff usercpu syscpu numckpts flushes
0 0 0 24235.85 11054.95 85 196
bufwaits lokwaits lockreqs deadlks dltouts ckpwaits compress seqscans
1339052 91 157160383 0 0 304 35176 2096917
ixda-RA idx-RA da-RA RA-pgsused lchwaits
1435270 95970 2852979 4376467 49452
Here is onstat -g seg from mid-day:
Segment Summary:
id key addr size ovhd class blkused blkfree
1 1381451777 30000000 534626304 9016 R 65256 6
2 1381451778 50000000 402653184 6740 V 24576 24576
Total: - - 937279488 - - 89832 24582
(* segment locked in memory)
From config file:
BUFFERS 126000 # Maximum number of shared buffers
SHMVIRTSIZE 393216 # initial virtual shared memory segmentsize
I suppose we could reduce SHMVIRTSIZE (since we don't use what we
allocate) and
increase the BUFFERS to see if we can reduce the BTR?
drbob
Chris Burton wrote:
> >Buffer Turnovers = (pagreads + bufwrits) / BUFFERS
>
> What is a 'few' time an hour. I am showing 11 times per hour with a
> buf_wait ratio of about 5%. Comments?
>
[snip]
> Chris
I see similar numbers, though my buf_wait ratio regularly visits no-mans
land
(8-10). We're running 7.31.UC5 on a 4-way IBM H50 (332 MHZ) w/2 GB RAM,
& AIX
4.3.2. I am seeing a turnover rate anywhere from 6 to 14 per hour. This
is 'onstat -p'
from our system running about 15 hours since the last onstat -z:
Informix Dynamic Server Version 7.31.UC5 -- On-Line -- Up 2 days
09:29:11 --
915312 Kbytes
Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
7048290 8962516 472042006 98.51 605618 1379970 11671757 94.81
isamtot open start read write rewrite delete commit
rollbk
408326705 4814943 29625295 269744131 4571378 2336746 87967
111289 210
gp_read gp_write gp_rewrt gp_del gp_alloc gp_free gp_curs
0 0 0 0 0 0 0
ovlock ovuserthread ovbuff usercpu syscpu numckpts flushes
0 0 0 24235.85 11054.95 85 196
bufwaits lokwaits lockreqs deadlks dltouts ckpwaits compress seqscans
1339052 91 157160383 0 0 304 35176 2096917
ixda-RA idx-RA da-RA RA-pgsused lchwaits
1435270 95970 2852979 4376467 49452
Here is onstat -g seg from mid-day:
Segment Summary:
id key addr size ovhd class blkused blkfree
1 1381451777 30000000 534626304 9016 R 65256 6
2 1381451778 50000000 402653184 6740 V 24576 24576
Total: - - 937279488 - - 89832 24582
(* segment locked in memory)
From config file:
BUFFERS 126000 # Maximum number of shared buffers
SHMVIRTSIZE 393216 # initial virtual shared memory segmentsize
I suppose we could reduce SHMVIRTSIZE (since we don't use what we
allocate) and
increase the BUFFERS to see if we can reduce the BTR?
drbob