RE: Buffer Waits Ratio
Posted in 1999
I misspoke when I explained the Buffer Waits Ratio. That is what I get
for trying to hurry up and finish a post before I go home :).
I am pretty sure it uses page reads and buffer writes because those
are the two things which need exclusive access to an LRU
queue. But I am not sure.
Will
>>===== Original Message From "Henderson, Scott" <SHenderson@purolator.com>
>=====
>>Friends,
>>
>>
>>Informix Version: 7.30 FC7
>>OS: HPUX 11.0
>>Hardware: HP9000 Series 800 V2500
>>Disk Array: EMC 3700
>>Application: OLTP (strictly database server)
>>Misc. 16 CPU, 8GB mem, 2 instances
>>
>>
>>I've been making use of the bufwait ratio formula [ratio = (bufwaits /
>>(pagreads + bufwrits)) * 100] on my production servers. During normal day
>>to day usage it hovers at around 15%. I know the ideal target is 10%.
>>During heavy activity in the afternoon I have seen measurements of >25%. I
>>plan to increase BUFFERS,LRUS and CLEANERS and maybe NUMCPUVPS. I would
>>appreciate if you guys/gals confirm my plan and also have a look at my
>>onconfig file and recommend any improvements.
>>
>>Informix recommends 4 LRUS per NUMCPUVPS (Admin Guide Vol2 33-45)
>>I have 6 CPUVPS, 28 LRUS (whoops) looking after 100000 BUFFERS, each LRU is
>>looking after approximately 7000 pages.
>>So, my questions are;
>>
>>1) Should I conform to the 4 LRUS/NUMCPUVPS?
>>2) Is 7000 BUFFERS a high/low number of pages for each LRU, is there an
>>optimized target?
>>
>>Also, could someone explain to me why the formula uses pagreads and not
>>bufreads.
>>
>>
>>
>>
>>
>>#**************************************************************************
>>#
>># INFORMIX SOFTWARE, INC.
>>#
>># Title: onconfig.prod
>># Description: Informix Dynamic Server Configuration Parameters
>>#
>>#**************************************************************************
>>
>># Root Dbspace Configuration
>>
>>ROOTNAME rootdbs # Root dbspace name
>>ROOTPATH /dev/ifn_110001 # Path for device containing root>>dbspace
>>
>>
>>ROOTOFFSET 0 # Offset of root dbspace into device
>>(Kbytes)
>>ROOTSIZE 200000 # Size of root dbspace (Kbytes)>>
>># Disk Mirroring Configuration Parameters
>>
>>MIRROR 1 # Mirroring flag (Yes = 1, No = 0)
>>MIRRORPATH # Path for device containing mirrored root
>>MIRROROFFSET 0 # Offset into mirrored device (Kbytes)>>
>># Physical Log Configuration
>>
>>PHYSDBS plogdbs # Location (dbspace) of physical log
>>PHYSFILE 49890 # Physical log file size (Kbytes)>>
>># Logical Log Configuration
>>
>>LOGFILES 100 # Number of logical log files
>>LOGSIZE 5000 # Logical log size (Kbytes)>>
>># Diagnostics
>>
>>MSGPATH /home/informix/log/ccd.log # System message log
>file
>>path
>>CONSOLE /dev/console # System console>message
>>path
>>ALARMPROGRAM /opt/informix_7.30/etc/no_log.sh # Alarm program path
>>SYSALARMPROGRAM /opt/informix_7.30/etc/evidence.sh # System
Alarm
>>program path
>>TBLSPACE_STATS 1>>
>># System Archive Tape Device
>>
>>#TAPEDEV /dev/null # Tape device path
>>TAPEDEV /dev/rmt/c11t1d0BESTb # Tape device path
>>#TAPEDEV /dev/rmt/c11t2d0BESTb # Tape device path
>>TAPEBLK 64 # Tape block size (Kbytes)
>>TAPESIZE 71303168 # Maximum amount of data to put on
>>tape (Kbytes)>>
>># Log Archive Tape Device
>>
>>#LTAPEDEV /dev/null # Log tape device path
>>LTAPEDEV /prod/informix/llogs/ccd/llog.today # Log tape
>>device path
>>LTAPEBLK 64 # Log tape block size (Kbytes)
>>LTAPESIZE 2048000 # Max amount of data to put on log tape
>>(Kbytes)>>
>># Optical
>>
>>STAGEBLOB # Informix Dynamic Server/Optical staging
>>area
>>
>># System Configuration
>>
>>SERVERNUM 13 # Unique id corresponding to a Dynamic>>Server instance
>>DBSERVERNAME cortran0 # Name of default database server
>>DBSERVERALIASES cortran1 # List of alternate>dbservernames
>>NETTYPE soctcp,1,100,NET # Configure poll>>thread(s) for nettype
>>DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed
>>env.
>>RESIDENT 1 # Forced residency flag (Yes = 1, No = 0)
>>
>>MULTIPROCESSOR 1 # 0 for single-processor, 1 for>>multi-processor
>>NUMCPUVPS 6 # Number of user (cpu) vps
>>SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps to>>one
>>
>>NOAGE 0 # Process aging
>>AFF_SPROC 0 # Affinity start processor
>>AFF_NPROCS 0 # Affinity number of processors>>
>># Shared Memory Parameters
>>
>>LOCKS 400000 # Maximum number of locks
>>BUFFERS 100000 # Maximum number of shared buffers
>>NUMAIOVPS 24 # Number of IO vps
>>PHYSBUFF 64 # Physical log buffer size (Kbytes)
>>LOGBUFF 64 # Logical log buffer size
>(Kbytes)>>LOGSMAX 1024 # Maximum number of logical log files
>>CLEANERS 24 # Number of buffer cleaner>>processes
>>SHMBASE 0x0 # Shared memory base address
>>SHMVIRTSIZE 500000 # initial virtual shared memory segment size
>>SHMADD 65536 # Size of new shared memory segments
>>(Kbytes)
>>SHMTOTAL 2000000 # Total shared memory (Kbytes). 0=>unlimited
>>CKPTINTVL 180 # Check point interval (in sec)
>>LRUS 28 # Number of LRU queues
>>LRU_MAX_DIRTY 2 # LRU percent dirty begin cleaning limit
>>LRU_MIN_DIRTY 1 # LRU percent dirty end cleaning limit
>>LTXHWM 50 # Long transaction high water mark>>percentage
>>LTXEHWM 60 # Long transaction high water>mark
>>(exclusive)
>>TXTIMEOUT 300 # Transaction timeout (in sec)
>>STACKSIZE 256 # Stack size (Kbytes)>>
>># System Page Size
>># BUFFSIZE - Dynamic Server no longer supports this configuration parameter.
>># To determine the page size used by Dynamic Server on your
>>platform
>># see the last line of output from the command, 'onstat -b'.
>>
>>
>># Recovery Variables
>># OFF_RECVRY_THREADS:
>># Number of parallel worker threads during fast recovery or an offline
>>restore.
>># ON_RECVRY_THREADS:
>># Number of parallel worker threads during an online restore.
>>
>>OFF_RECVRY_THREADS 10 # Default number of offline worker threads
>>ON_RECVRY_THREADS