Correct method of sizing resident pool...
Posted in 2012
Topics: Stored Procedures & SPL, Server Administration, Platform-Specific Issues
Hi all,
I have a script that reads an onconfig file and outputs an estimated
memory footprint of the instance.
However, I am finding it hard to accurately predict the resident section
size.
According to
http://publib.boulder.ibm.com/infocenter/idshelp/v111/index.jsp?topic=/com.ibm.perf.doc/perf.htm
> To estimate the size of the data buffer, use the following formula:
>
> buffer_value = (BUFFERS * pagesize) + (BUFFERS * 254)
>
> pagesize
> is the shared-memory page size, as onstat -b displays it on the last line in the buffer size field.
>
> Calculate the values in the following formulas:
>
> locks_value = LOCKS * 44
> logbuff_value = LOGBUFF * 1024 * 3
> physbuff_value = PHYSBUFF * 1024 * 2
>
> To calculate the estimated size of the resident portion in kilobytes, use the following formula:
>
> rsegsize = (buffer_value + locks_value + logbuff_value
> + physbuff_value + 51,200) / 1024
However, according to
http://publib.boulder.ibm.com/infocenter/idshelp/v117/index.jsp?topic=%2Fcom.ibm.perf.doc%2Fids_prf_750.htm
> Estimate the size of the data buffer, using the following formula:
>
> buffer_value = (BUFFERS * pagesize) + (BUFFERS * 254) + 250000
Okay, addiional 250000 as a fudge factor?
>
> pagesize
> is the shared-memory page size, as onstat -b displays it on the last line in the buffer size field.
>
> If you have multiple buffer pools, add the buffer sizes for each buffer pool together.
> Calculate the values in the following formulas:
>
> locks_value = LOCKS * 44 44->128
44->128?? How I am supposed to figure out what value to use?
> logbuff_value = LOGBUFF * 1024 * 3
> physbuff_value = PHYSBUFF * 1024 * 2
>
> Calculate the estimated size of the resident portion in kilobytes, using the following formula:
>
> rsegsize = 1.02 * (buffer_value + locks_value + logbuff_value
Sneaky multiplication by 1.02 as another fudge factor?
> + physbuff_value + 51,200 51,200->1,200,000) / 1024
>
Again, I have no idea how to calculate where I should be in the range
51,200->1,200,000 (if that even *means* that is is a _range_)
I would be really glad of some help in getting this sorted!
Target platform AIX 6.1 Informix 11.50 FC3
Many (many!) thanks...
Martin
Locks take up 44 bytes on a 32bit release and 128 bytes each in a 64bit
release. I have no idea about the 51K versus 1.2M bit. Let me suggest
that since you are mostly interested in your own environment that you
simply bring up a minimal server instance with say 10,000 buffers and 1000
locks, record the sizing then play with those until you can work out your
own formula.
Art
Art S. Kagel
Advanced DataTools (www.advancedatatools.com)
Blog: http://informix-myview.blogspot.com/
Disclaimer: Please keep in mind that my own opinions are my own opinions
and do not reflect on my employer, Advanced DataTools, the IIUG, nor any
other organization with which I am associated either explicitly,
implicitly, or by inference. Neither do those opinions reflect those of
other individuals affiliated with any entity with which I am affiliated nor
those of the entities themselves.
On Wed, Jul 11, 2012 at 5:48 AM, bunnymjh <bunnymjh@googlemail.com> wrote:
> Hi all,
>
> I have a script that reads an onconfig file and outputs an estimated
> memory footprint of the instance.
>
> However, I am finding it hard to accurately predict the resident section
> size.
>
> According to
>
> http://publib.boulder.ibm.com/infocenter/idshelp/v111/index.jsp?topic=/com.ibm.perf.doc/perf.htm
>
>
> > To estimate the size of the data buffer, use the following formula:
> >
> > buffer_value = (BUFFERS * pagesize) + (BUFFERS * 254)
> >
> > pagesize
> > is the shared-memory page size, as onstat -b displays it on the last
> line in the buffer size field.
> >
> > Calculate the values in the following formulas:
> >
> > locks_value = LOCKS * 44
> > logbuff_value = LOGBUFF * 1024 * 3
> > physbuff_value = PHYSBUFF * 1024 * 2
> >
> > To calculate the estimated size of the resident portion in kilobytes,
> use the following formula:
> >
> > rsegsize = (buffer_value + locks_value + logbuff_value
> > + physbuff_value + 51,200) / 1024
>
>
>
> However, according to
>
> http://publib.boulder.ibm.com/infocenter/idshelp/v117/index.jsp?topic=%2Fcom.ibm.perf.doc%2Fids_prf_750.htm
>
> > Estimate the size of the data buffer, using the following formula:
> >
> > buffer_value = (BUFFERS * pagesize) + (BUFFERS * 254) + 250000
> Okay, addiional 250000 as a fudge factor?
> >
> > pagesize
> > is the shared-memory page size, as onstat -b displays it on the
> last line in the buffer size field.
> >
> > If you have multiple buffer pools, add the buffer sizes for each
> buffer pool together.
> > Calculate the values in the following formulas:
> >
> > locks_value = LOCKS * 44 44->128
> 44->128?? How I am supposed to figure out what value to use?
> > logbuff_value = LOGBUFF * 1024 * 3
> > physbuff_value = PHYSBUFF * 1024 * 2
> >
> > Calculate the estimated size of the resident portion in kilobytes,
> using the following formula:
> >
> > rsegsize = 1.02 * (buffer_value + locks_value + logbuff_value
> Sneaky multiplication by 1.02 as another fudge factor?
> > + physbuff_value + 51,200 51,200->1,200,000) / 1024
> >
> Again, I have no idea how to calculate where I should be in the range
> 51,200->1,200,000 (if that even *means* that is is a _range_)
>
> I would be really glad of some help in getting this sorted!
>
> Target platform AIX 6.1 Informix 11.50 FC3
>
> Many (many!) thanks...
>
> Martin
>
>
> _______________________________________________
> Informix-list mailing list
> Informix-list@iiug.org
> http://www.iiug.org/mailman/listinfo/informix-list
>
On 11/07/2012 13:56, Art Kagel wrote:
> Locks take up 44 bytes on a 32bit release and 128 bytes each in a 64bit
> release. I have no idea about the 51K versus 1.2M bit. Let me suggest
> that since you are mostly interested in your own environment that you
> simply bring up a minimal server instance with say 10,000 buffers and
> 1000 locks, record the sizing then play with those until you can work
> out your own formula.
>
> Art
>
> Art S. Kagel
> Advanced DataTools (www.advancedatatools.com
> <http://www.advancedatatools.com>)
> Blog: http://informix-myview.blogspot.com/
>
> Disclaimer: Please keep in mind that my own opinions are my own opinions
> and do not reflect on my employer, Advanced DataTools, the IIUG, nor any
> other organization with which I am associated either explicitly,
> implicitly, or by inference. Neither do those opinions reflect those of
> other individuals affiliated with any entity with which I am affiliated
> nor those of the entities themselves.
>
>
>
> On Wed, Jul 11, 2012 at 5:48 AM, bunnymjh <bunnymjh@googlemail.com
> <mailto:bunnymjh@googlemail.com>> wrote:
>
> Hi all,
>
> I have a script that reads an onconfig file and outputs an estimated
> memory footprint of the instance.
>
> However, I am finding it hard to accurately predict the resident section
> size.
>
> According to
> http://publib.boulder.ibm.com/infocenter/idshelp/v111/index.jsp?topic=/com.ibm.perf.doc/perf.htm
>
>
> > To estimate the size of the data buffer, use the following formula:
> >
> > buffer_value = (BUFFERS * pagesize) + (BUFFERS * 254)
> >
> > pagesize
> > is the shared-memory page size, as onstat -b displays it on
> the last line in the buffer size field.
> >
> > Calculate the values in the following formulas:
> >
> > locks_value = LOCKS * 44
> > logbuff_value = LOGBUFF * 1024 * 3
> > physbuff_value = PHYSBUFF * 1024 * 2
> >
> > To calculate the estimated size of the resident portion in
> kilobytes, use the following formula:
> >
> > rsegsize = (buffer_value + locks_value + logbuff_value
> > + physbuff_value + 51,200) / 1024
>
>
>
> However, according to
> http://publib.boulder.ibm.com/infocenter/idshelp/v117/index.jsp?topic=%2Fcom.ibm.perf.doc%2Fids_prf_750.htm
>
> > Estimate the size of the data buffer, using the following formula:
> >
> > buffer_value = (BUFFERS * pagesize) + (BUFFERS * 254) + 250000
> Okay, addiional 250000 as a fudge factor?
> >
> > pagesize
> > is the shared-memory page size, as onstat -b displays it
> on the last line in the buffer size field.
> >
> > If you have multiple buffer pools, add the buffer sizes for
> each buffer pool together.
> > Calculate the values in the following formulas:
> >
> > locks_value = LOCKS * 44 44->128
> 44->128?? How I am supposed to figure out what value to use?
> > logbuff_value = LOGBUFF * 1024 * 3
> > physbuff_value = PHYSBUFF * 1024 * 2
> >
> > Calculate the estimated size of the resident portion in
> kilobytes, using the following formula:
> >
> > rsegsize = 1.02 * (buffer_value + locks_value + logbuff_value
> Sneaky multiplication by 1.02 as another fudge factor?
> > + physbuff_value + 51,200 51,200->1,200,000) / 1024
> >
> Again, I have no idea how to calculate where I should be in the range
> 51,200->1,200,000 (if that even *means* that is is a _range_)
>
> I would be really glad of some help in getting this sorted!
>
> Target platform AIX 6.1 Informix 11.50 FC3
>
> Many (many!) thanks...
>
> Martin
>
>
> _______________________________________________
> Informix-list mailing list
> Informix-list@iiug.org <mailto:Informix-list@iiug.org>
> http://www.iiug.org/mailman/listinfo/informix-list
>
>
Okay, so by applying the logic that '->' indicates the 64bit value, I
now have a *fairly* accurate script (had to change the 1.02 fudge to
1.009, and I dropped the +250000 alltogether if anyone is interested...)
Thanks Art.
(You back in the states these days?)
On 11/07/2012 13:56, Art Kagel wrote:
> Locks take up 44 bytes on a 32bit release and 128 bytes each in a 64bit
> release. I have no idea about the 51K versus 1.2M bit. Let me suggest
> that since you are mostly interested in your own environment that you
> simply bring up a minimal server instance with say 10,000 buffers and
> 1000 locks, record the sizing then play with those until you can work
> out your own formula.
>
> Art
>
> Art S. Kagel
> Advanced DataTools (www.advancedatatools.com
> <http://www.advancedatatools.com>)
> Blog: http://informix-myview.blogspot.com/
>
> Disclaimer: Please keep in mind that my own opinions are my own opinions
> and do not reflect on my employer, Advanced DataTools, the IIUG, nor any
> other organization with which I am associated either explicitly,
> implicitly, or by inference. Neither do those opinions reflect those of
> other individuals affiliated with any entity with which I am affiliated
> nor those of the entities themselves.
>
>
>
> On Wed, Jul 11, 2012 at 5:48 AM, bunnymjh <bunnymjh@googlemail.com
> <mailto:bunnymjh@googlemail.com>> wrote:
>
> Hi all,
>
> I have a script that reads an onconfig file and outputs an estimated
> memory footprint of the instance.
>
> However, I am finding it hard to accurately predict the resident section
> size.
>
> According to
> http://publib.boulder.ibm.com/infocenter/idshelp/v111/index.jsp?topic=/com.ibm.perf.doc/perf.htm
>
>
> > To estimate the size of the data buffer, use the following formula:
> >
> > buffer_value = (BUFFERS * pagesize) + (BUFFERS * 254)
> >
> > pagesize
> > is the shared-memory page size, as onstat -b displays it on
> the last line in the buffer size field.
> >
> > Calculate the values in the following formulas:
> >
> > locks_value = LOCKS * 44
> > logbuff_value = LOGBUFF * 1024 * 3
> > physbuff_value = PHYSBUFF * 1024 * 2
> >
> > To calculate the estimated size of the resident portion in
> kilobytes, use the following formula:
> >
> > rsegsize = (buffer_value + locks_value + logbuff_value
> > + physbuff_value + 51,200) / 1024
>
>
>
> However, according to
> http://publib.boulder.ibm.com/infocenter/idshelp/v117/index.jsp?topic=%2Fcom.ibm.perf.doc%2Fids_prf_750.htm
>
> > Estimate the size of the data buffer, using the following formula:
> >
> > buffer_value = (BUFFERS * pagesize) + (BUFFERS * 254) + 250000
> Okay, addiional 250000 as a fudge factor?
> >
> > pagesize
> > is the shared-memory page size, as onstat -b displays it
> on the last line in the buffer size field.
> >
> > If you have multiple buffer pools, add the buffer sizes for
> each buffer pool together.
> > Calculate the values in the following formulas:
> >
> > locks_value = LOCKS * 44 44->128
> 44->128?? How I am supposed to figure out what value to use?
> > logbuff_value = LOGBUFF * 1024 * 3
> > physbuff_value = PHYSBUFF * 1024 * 2
> >
> > Calculate the estimated size of the resident portion in
> kilobytes, using the following formula:
> >
> > rsegsize = 1.02 * (buffer_value + locks_value + logbuff_value
> Sneaky multiplication by 1.02 as another fudge factor?
> > + physbuff_value + 51,200 51,200->1,200,000) / 1024
> >
> Again, I have no idea how to calculate where I should be in the range
> 51,200->1,200,000 (if that even *means* that is is a _range_)
>
> I would be really glad of some help in getting this sorted!
>
> Target platform AIX 6.1 Informix 11.50 FC3
>
> Many (many!) thanks...
>
> Martin
>
>
> _______________________________________________
> Informix-list mailing list
> Informix-list@iiug.org <mailto:Informix-list@iiug.org>
> http://www.iiug.org/mailman/listinfo/informix-list
>
>
Okay, so by applying the logic that '->' indicates the 64bit value, I
now have a *fairly* accurate script (had to change the 1.02 fudge to
1.009, and I dropped the +250000 alltogether if anyone is interested...)
Thanks Art.
(You back in the states these days?)
Back in the USA for now, yes.
Art
Art S. Kagel
Advanced DataTools (www.advancedatatools.com)
Blog: http://informix-myview.blogspot.com/
Disclaimer: Please keep in mind that my own opinions are my own opinions
and do not reflect on my employer, Advanced DataTools, the IIUG, nor any
other organization with which I am associated either explicitly,
implicitly, or by inference. Neither do those opinions reflect those of
other individuals affiliated with any entity with which I am affiliated nor
those of the entities themselves.
On Thu, Jul 12, 2012 at 11:30 AM, bunnymjh <bunnymjh@googlemail.com> wrote:
> On 11/07/2012 13:56, Art Kagel wrote:
> > Locks take up 44 bytes on a 32bit release and 128 bytes each in a 64bit
> > release. I have no idea about the 51K versus 1.2M bit. Let me suggest
> > that since you are mostly interested in your own environment that you
> > simply bring up a minimal server instance with say 10,000 buffers and
> > 1000 locks, record the sizing then play with those until you can work
> > out your own formula.
> >
> > Art
> >
> > Art S. Kagel
> > Advanced DataTools (www.advancedatatools.com
> > <http://www.advancedatatools.com>)
> > Blog: http://informix-myview.blogspot.com/
> >
> > Disclaimer: Please keep in mind that my own opinions are my own opinions
> > and do not reflect on my employer, Advanced DataTools, the IIUG, nor any
> > other organization with which I am associated either explicitly,
> > implicitly, or by inference. Neither do those opinions reflect those of
> > other individuals affiliated with any entity with which I am affiliated
> > nor those of the entities themselves.
> >
> >
> >
> > On Wed, Jul 11, 2012 at 5:48 AM, bunnymjh <bunnymjh@googlemail.com
> > <mailto:bunnymjh@googlemail.com>> wrote:
> >
> > Hi all,
> >
> > I have a script that reads an onconfig file and outputs an estimated
> > memory footprint of the instance.
> >
> > However, I am finding it hard to accurately predict the resident
> section
> > size.
> >
> > According to
> >
> http://publib.boulder.ibm.com/infocenter/idshelp/v111/index.jsp?topic=/com.ibm.perf.doc/perf.htm
> >
> >
> > > To estimate the size of the data buffer, use the following
> formula:
> > >
> > > buffer_value = (BUFFERS * pagesize) + (BUFFERS * 254)
> > >
> > > pagesize
> > > is the shared-memory page size, as onstat -b displays it on
> > the last line in the buffer size field.
> > >
> > > Calculate the values in the following formulas:
> > >
> > > locks_value = LOCKS * 44
> > > logbuff_value = LOGBUFF * 1024 * 3
> > > physbuff_value = PHYSBUFF * 1024 * 2
> > >
> > > To calculate the estimated size of the resident portion in
> > kilobytes, use the following formula:
> > >
> > > rsegsize = (buffer_value + locks_value + logbuff_value
> > > + physbuff_value + 51,200) / 1024
> >
> >
> >
> > However, according to
> >
> http://publib.boulder.ibm.com/infocenter/idshelp/v117/index.jsp?topic=%2Fcom.ibm.perf.doc%2Fids_prf_750.htm
> >
> > > Estimate the size of the data buffer, using the following formula:
> > >
> > > buffer_value = (BUFFERS * pagesize) + (BUFFERS * 254) + 250000
> > Okay, addiional 250000 as a fudge factor?
> > >
> > > pagesize
> > > is the shared-memory page size, as onstat -b displays it
> > on the last line in the buffer size field.
> > >
> > > If you have multiple buffer pools, add the buffer sizes for
> > each buffer pool together.
> > > Calculate the values in the following formulas:
> > >
> > > locks_value = LOCKS * 44 44->128
> > 44->128?? How I am supposed to figure out what value to use?
> > > logbuff_value = LOGBUFF * 1024 * 3
> > > physbuff_value = PHYSBUFF * 1024 * 2
> > >
> > > Calculate the estimated size of the resident portion in
> > kilobytes, using the following formula:
> > >
> > > rsegsize = 1.02 * (buffer_value + locks_value + logbuff_value
> > Sneaky multiplication by 1.02 as another fudge factor?
> > > + physbuff_value + 51,200 51,200->1,200,000) / 1024
> > >
> > Again, I have no idea how to calculate where I should be in the range
> > 51,200->1,200,000 (if that even *means* that is is a _range_)
> >
> > I would be really glad of some help in getting this sorted!
> >
> > Target platform AIX 6.1 Informix 11.50 FC3
> >
> > Many (many!) thanks...
> >
> > Martin
> >
> >
> > _______________________________________________
> > Informix-list mailing list
> > Informix-list@iiug.org <mailto:Informix-list@iiug.org>
> > http://www.iiug.org/mailman/listinfo/informix-list
> >
> >
>
> Okay, so by applying the logic that '->' indicates the 64bit value, I
> now have a *fairly* accurate script (had to change the 1.02 fudge to
> 1.009, and I dropped the +250000 alltogether if anyone is interested...)
>
> Thanks Art.
>
> (You back in the states these days?)
>
>
>
> _______________________________________________
> Informix-list mailing list
> Informix-list@iiug.org
> http://www.iiug.org/mailman/listinfo/informix-list
>
Related threads
- onbar -c -F in Windows Informix instance
- Anyone... SQLCODE=-668, ISAM error=-1
- Not using the 100% logical log page size alloacted to informix