Informix

 View Only

 BUFFERPOOL parameter change.

AMIT PATEL's profile image
AMIT PATEL posted Fri October 10, 2025 02:37 AM

Dear All,

             Before 4 days we had slowness issue, and after running Update Statistics, checking index, Index Dropped and recreate activity done before two months,

            checkpoint occurring in 0.2 seconds.

            But after that also we faced slowness issue, so I increase BUFFERPOOL from 1000 to 4000 on PRIMARY and Secondary Server. (Not on RSS).

            SO I need to know with below configuration on these nodes, BUFFERPOOL of 4000 would be good or not.

           and difference of BUFFERPOOL in (PRIM/HDR and RSS, will create any issue?

           Kindly let me know:

              

                OS : Solaris 5.11

                IDS 14.10

                 We are having three nodes, 

                Primary : 768 CPU , 800 GB Memory,    (Bufferpool increased from 1000 to 4000)

               HDR : 320 CPU, 700 GB Memory,           (Bufferpool increase from 1000 to 4000)

              RSS : 32 CPU , 96 GB Memory                (Bufferpool 1000 , No change)

Bufferpool in PRIM n HDR Secondary           

 RSS

Physical n log file config is same in all 3 nodes

 

Logocal log size in real is 100 MB

Locks in PRIM/HDR - 

Locks in RSS

 

Primary VPCLASS

Secondary VPCLASS

RSS VPCLASS

ke chen's profile image
ke chen
Suggest setting RSS_FLOWCONTROL to -1, which can avoid blocking from RSS if it's falling behind.
It's a dynamic change by onmode -wf.
Ke
Art Kagel's profile image
Art Kagel IBM Champion

Amit:

You need to check the BTR3 metric for each of your buffer caches (2K & 12K). If either is over 6 turns/hour then you should add more buffers. If not, then the number of buffers is not an issue. The easiest way to do this? Go to my web site and download the ratios.shr_ak package, install the ratios.sql stored procedure, then you can run the newratios.ksh script to calculate and produce the metrics report that includes the BTR3 calculations.

Art

Art Kagel's profile image
Art Kagel IBM Champion

Amit:

I just noticed that you increased the "default" bufferpool setting. That setting is ONLY used to create a new bufferpool for a new page size if a new dbspace with a new page size is created dynamically without having created the bufferpool first (using the API function). You would have had to increase the 12K bufferpool.

Art

Mike Walker's profile image
Mike Walker IBM Champion

You probably intended to increase your 12k bufferpool rather than the default, unless you have dbspaces with pages sizes that are not already listed with their own bufferpool entry, e.g. 2k and 12k, otherwise this won't change anything meaningful.  The number of buffers that you have assigned seems very low compared to the 12k.  Definitely try Art's BTR ratios to see the turnover.  I expect you will see some high numbers.  Also take a look at onstat -g buf and check the caching for reads and writes.

The suggestion of disabling flow control is a good one.  Check onstat -g rss verbose and the last 2 rows to see if the number of delays and time of last delay shows anything other than 0 and blank.  If so, it indicates that the rss has fallen behind and is throttling the primary server.  The default for flow control is enabled and not at a very big value.  Increasing the flow control limit or disabling flow control for now may reduce any of those delays.  The resources on the RSS are very low compared to the primary and hdr so it may well struggle to keep up when under heavy load, and that will slow the primary down. 

AMIT PATEL's profile image
AMIT PATEL

Dear Art & Mike, 

            So as I changed the default BUFFERPOOL instead of 2K or 12K BUFER Size BUFFERPOOL, so will it impact, if I keep the Default BUUFERPOOL size 4000, and don't change anything for rest BUFFERPOOL values. So will it impact something on the Primary/HDR/RSS replication or can it lead to any other performance issue?

Thanks

Amit Patel

Art Kagel's profile image
Art Kagel IBM Champion

Amit:

No. The "default" bufferpool setting, as I already noted, ONLY takes effect if you create a new dbspace that has a page size that is not 2K or 12K. If, for example, you were to create a new 16K dbspace in order to move some big indexes into it, and do not use the API function "add bufferpool" or the onparams utility with the options "-b -g <pagesize>" without the "-n <# pages>" option, then the "default" entry would be used to determine the number of pages to create in the new 16K bufferpool and how to configure the other options it specifies. Otherwise, the "default" BUFFERPOOL entry does nothing at all.

Art