Buffer Turnover Rate question
Posted in 2009
Topics: High Availability & Replication, Backup & Restore, Performance & Tuning, Storage & Space Management, Server Administration, Security, Permissions & Auditing, Triggers, Constraints & Referential Integrity, Transactions, Locking & Isolation, Logging & Checkpoints, Networking & sqlhosts Configuration
HPUX 11vi2, 4x440MHz cpu, 8GB RAM, Informix 10.00.HC5
I just recently downloaded the ratios.ksh script and started running it. I'm
not noticing any performance problems as such but it seems like the BTR is
quite high. onstat -c and onstat -p output is included below. Anything to
worry about? Thanks! -bla
ReadAhead Utilization (UR): 99.6735 %
Bufwaits Ratio(BR): 1.13657 %
Average Buffer Turnover Rate (BTR): 36.9059/HR
Stats reset 71:40:00 ago.
IBM Informix Dynamic Server Version 10.00.HC5 -- On-Line -- Up 2 days 23:47:25
-- 591028 Kbytes
Configuration File: /opt/informix/etc/onconf.cars# Root Dbspace Configuration
ROOTNAME root # Root dbspace name
ROOTPATH /opt/informix/dev/root.1
# Path for device containing root dbspace
ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes)
ROOTSIZE 1024000 # Size of root dbspace (Kbytes)
# Disk Mirroring Configuration Parameters
MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
MIRRORPATH # Path for device containing mirrored root
MIRROROFFSET 0 # Offset into mirrored device (Kbytes)
# Physical Log Configuration
PHYSDBS root # Location (dbspace) of physical log
PHYSFILE 40960 # Physical log file size (Kbytes)
# Logical Log Configuration
LOGFILES 60 # Number of logical log files
LOGSIZE 14336 # Logical log size (Kbytes)LOG_BACKUP_MODE MANUAL # Logical log backup mode (MANUAL, CONT)
# Security
# DBCREATE_PERMISSION:
# By default any user can create a database. Uncomment DBCREATE_PERMISSON to
# limit database creation to a specific user. Add a new DBCREATE_PERMISSION
# line for each permitted user.
DBCREATE_PERMISSION informix
DBCREATE_PERMISSION root
# IFX_EXTEND_ROLE:
# 0 => Disable use of EXTEND role to control who can register
# external routines. This is the default behaviour.
# 1 => Enable use of EXTEND role to control who can register
# external routines.
IFX_EXTEND_ROLE 1 # To control the usage of EXTEND role.
# Tablespace Tablespace Configuration in Root Dbspace
TBLTBLFIRST 0 # First extent size (Kbytes) (0 = default)
TBLTBLNEXT 0 # Next extent size (Kbytes) (0 = default)
# Diagnostics
MSGPATH /opt/informix/Logs/cars.log # System message log file path
CONSOLE /dev/console # System console message path
# To automatically backup logical logs, edit alarmprogram.sh and set
# BACKUPLOGS=Y
ALARMPROGRAM /opt/informix/etc/no_log.sh # Alarm program path
ALRM_ALL_EVENTS 0 # Triggers ALARMPROGRAM for any event occur
TBLSPACE_STATS 1 # Maintain tblspace statistics
# System Archive Tape Device
TAPEDEV /dev/rmt/1m # Tape device path
TAPEBLK 256 # Tape block size (Kbytes)
TAPESIZE 0 # Maximum amount of data to put on tape (Kbytes)
# Log Archive Tape Device
LTAPEDEV /dev/rmt/2m # Log tape device path
LTAPEBLK 32 # Log tape block size (Kbytes)
LTAPESIZE 0 # Max amount of data to put on log tape (Kbytes)
# Optical
STAGEBLOB # Informix Dynamic Server staging area
# System Configuration
SERVERNUM 1 # Unique id corresponding to a OnLine instance
DBSERVERNAME daniel3 # Name of default database serverDBSERVERALIASES daniel3tcp,carsmain_tcp # List of alternate dbservernames
NETTYPE ipcshm,3,250,CPU # Configure poll thread(s) for nettype
NETTYPE soctcp,3,,NET # Configure poll thread(s) for nettype
DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed env.
MULTIPROCESSOR 1 # 0 for single-processor, 1 for multi-processor
SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps to one
# Shared Memory Parameters
BUFFERPOOL
size=2K,buffers=100000,lrus=29,lru_min_dirty=2.000000,lru_max_dirty=4.000000
LOCKS 512000 # Maximum number of locks
PHYSBUFF 64 # Physical log buffer size (Kbytes)
LOGBUFF 32 # Logical log buffer size (Kbytes)
CLEANERS 29 # Number of buffer cleaner processes
SHMBASE 0x0 # Shared memory base address
SHMVIRTSIZE 321536 # initial virtual shared memory segment size
SHMADD 32768 # Size of new shared memory segments (Kbytes)
SHMTOTAL 0 # Total shared memory (Kbytes). 0=>unlimited
CKPTINTVL 900 # Check point interval (in sec)
TXTIMEOUT 0x12c # Transaction timeout (in sec)
STACKSIZE 512 # Stack size (Kbytes)
# Dynamic Logging
# DYNAMIC_LOGS:
# 2 : server automatically add a new logical log when necessary. (ON)
# 1 : notify DBA to add new logical logs when necessary. (ON)
# 0 : cannot add logical log on the fly. (OFF)
#
# When dynamic logging is on, we can have higher values for LTXHWM/LTXEHWM,
# because the server can add new logical logs during long transaction rollback.
# However, to limit the number of new logical logs being added, LTXHWM/LTXEHWM
# can be set to smaller values.
#
# If dynamic logging is off, LTXHWM/LTXEHWM need to be set to smaller values
# to avoid long transaction rollback hanging the server due to lack of logical
# log space, i.e. 50/60 or lower.
#
# In case of system configured with CDR, the difference between LTXHWM and
# LTXEHWM should be atleast 30% so that we could minimize log overrun issue.
DYNAMIC_LOGS 0
LTXHWM 35
LTXEHWM 45
# System Page Size
# BUFFSIZE - OnLine no longer supports this configuration parameter.
# To determine the page size used by OnLine 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 1 # Default number of online worker threads
# Data Replication Variables
# DRAUTO: 0 manual, 1 retain type, 2 reverse type
DRAUTO 0 # DR automatic switchover
DRINTERVAL 30 # DR max time between DR buffer flushes (in sec)
DRTIMEOUT 30 # DR network timeout (in sec)
DRLOSTFOUND /opt/informix/etc/dr.lostfound # DR lost+found file path
DRIDXAUTO 0 # DR automatic index repair. 0=off, 1=on
# CDR Variables
CDR_EVALTHREADS 1,2 # evaluator threads (per-cpu-vp,additional)
CDR_DSLOCKWAIT 5 # DS lockwait timeout (seconds)
CDR_QUEUEMEM 4096 # Maximum amount of memory for any CDR queue (Kbytes)
CDR_NIFCOMPRESS 0 # Link level compression (-1 never, 0 none, 9 max)
CDR_SERIAL 0,0 # Serial Column Sequence
CDR_DBSPACE # dbspace for syscdr database
CDR_QHDR_DBSPACE # CDR queue dbspace (default same as catalog)
CDR_QDATA_SBSPACE # List of CDR queue smart blob spaces
# CDR_MAX_DYNAMIC_LOGS
# -1 => unlimited
# 0 => disable dynamic log addition
# >0 => limit the no. of dynamic log additions with the specified value.
# Max dynamic log requests that CDR can make within one server session.
CDR_MAX_DYNAMIC_LOGS 0 # Dynamic log addition disabled by default
# Backup/Restore variables
BAR_ACT_LOG /tmp/bar_act.log # ON-Bar Log file - not in /tmp please
BAR_DEBUG_LOG /tmp/bar_dbug.log # ON-Bar Debug Log - not in /tmp please
BAR_MAX_BACKUP 0
BAR_RETRY 1
BAR_NB_XPORT_COUNT 10
BAR_XFER_BUF_SIZE 31
RESTARTABLE_RESTORE off
BAR_PROGRESS_FREQ 0
# Informix Storage Manager variables
ISM_DATA_POOL ISMData
ISM_LOG_POOL ISMLogs
# Read Ah
The metrics reported by ratios are indicators that you need to investigate =
further. Combining the very high BTR with the slightly low RAU i'd say tha=
t you need more buffers. How many? Hard to say. The BTR indicates that t=
he answer may be as high as 6X the current cache. But you should try to est=
imate your working set o data from application needs.=20
Art=20
-----Original Message-----
From: BRIAN AMSTUTZ <brian.amstutz@asburyseminary.edu>
Sent: Wednesday, July 15, 2009 2:15 PM
To: ids@iiug.org
Subject: Buffer Turnover Rate question [16409]
HPUX 11vi2, 4x440MHz cpu, 8GB RAM, Informix 10.00.HC5=20
I just recently downloaded the ratios.ksh script and started running it. I'=
m=20
not noticing any performance problems as such but it seems like the BTR is=
=20
quite high. onstat -c and onstat -p output is included below. Anything to=20
worry about? Thanks! -bla=20
ReadAhead Utilization (UR): 99.6735 %=20
Bufwaits Ratio(BR): 1.13657 %=20
Average Buffer Turnover Rate (BTR): 36.9059/HR=20
Stats reset 71:40:00 ago.=20
IBM Informix Dynamic Server Version 10.00.HC5 -- On-Line -- Up 2 days 23:47=
:25=20
-- 591028 Kbytes=20
Configuration File: /opt/informix/etc/onconf.cars=20# Root Dbspace Configuration=20
ROOTNAME root # Root dbspace name=20
ROOTPATH /opt/informix/dev/root.1=20
# Path for device containing root dbspace=20
ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes)=20
ROOTSIZE 1024000 # Size of root dbspace (Kbytes)=20
# Disk Mirroring Configuration Parameters=20
MIRROR 0 # Mirroring flag (Yes =3D 1, No =3D 0)=20
MIRRORPATH # Path for device containing mirrored root=20
MIRROROFFSET 0 # Offset into mirrored device (Kbytes)=20
# Physical Log Configuration=20
PHYSDBS root # Location (dbspace) of physical log=20
PHYSFILE 40960 # Physical log file size (Kbytes)=20
# Logical Log Configuration=20
LOGFILES 60 # Number of logical log files=20
LOGSIZE 14336 # Logical log size (Kbytes)=20
LOG_BACKUP_MODE MANUAL # Logical log backup mode (MANUAL, CONT)=20
# Security=20
# DBCREATE_PERMISSION:=20
# By default any user can create a database. Uncomment DBCREATE_PERMISSON t=
o=20
# limit database creation to a specific user. Add a new DBCREATE_PERMISSION=
=20
# line for each permitted user.=20
DBCREATE_PERMISSION informix=20
DBCREATE_PERMISSION root=20
# IFX_EXTEND_ROLE:=20
# 0 =3D> Disable use of EXTEND role to control who can register=20
# external routines. This is the default behaviour.=20
# 1 =3D> Enable use of EXTEND role to control who can register=20
# external routines.=20
IFX_EXTEND_ROLE 1 # To control the usage of EXTEND role.=20
# Tablespace Tablespace Configuration in Root Dbspace=20
TBLTBLFIRST 0 # First extent size (Kbytes) (0 =3D default)=20
TBLTBLNEXT 0 # Next extent size (Kbytes) (0 =3D default)=20
# Diagnostics=20
MSGPATH /opt/informix/Logs/cars.log # System message log file path=20
CONSOLE /dev/console # System console message path=20
# To automatically backup logical logs, edit alarmprogram.sh and set=20
# BACKUPLOGS=3DY=20
ALARMPROGRAM /opt/informix/etc/no_log.sh # Alarm program path=20
ALRM_ALL_EVENTS 0 # Triggers ALARMPROGRAM for any event occur=20
TBLSPACE_STATS 1 # Maintain tblspace statistics=20
# System Archive Tape Device=20
TAPEDEV /dev/rmt/1m # Tape device path=20
TAPEBLK 256 # Tape block size (Kbytes)=20
TAPESIZE 0 # Maximum amount of data to put on tape (Kbytes)=20
# Log Archive Tape Device=20
LTAPEDEV /dev/rmt/2m # Log tape device path=20
LTAPEBLK 32 # Log tape block size (Kbytes)=20
LTAPESIZE 0 # Max amount of data to put on log tape (Kbytes)=20
# Optical=20
STAGEBLOB # Informix Dynamic Server staging area=20
# System Configuration=20
SERVERNUM 1 # Unique id corresponding to a OnLine instance=20
DBSERVERNAME daniel3 # Name of default database server=20DBSERVERALIASES daniel3tcp,carsmain_tcp # List of alternate dbservernames=20
NETTYPE ipcshm,3,250,CPU # Configure poll thread(s) for nettype=20
NETTYPE soctcp,3,,NET # Configure poll thread(s) for nettype=20
DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed env.=20
MULTIPROCESSOR 1 # 0 for single-processor, 1 for multi-processor=20
SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps to one=20
# Shared Memory Parameters=20
BUFFERPOOL=20
size=3D2K,buffers=3D100000,lrus=3D29,lru_min_dirty=3D2.000000,lru_max_dirty=
=3D4.000000=20
LOCKS 512000 # Maximum number of locks=20
PHYSBUFF 64 # Physical log buffer size (Kbytes)=20
LOGBUFF 32 # Logical log buffer size (Kbytes)=20
CLEANERS 29 # Number of buffer cleaner processes=20
SHMBASE 0x0 # Shared memory base address=20
SHMVIRTSIZE 321536 # initial virtual shared memory segment size=20
SHMADD 32768 # Size of new shared memory segments (Kbytes)=20
SHMTOTAL 0 # Total shared memory (Kbytes). 0=3D>unlimited=20
CKPTINTVL 900 # Check point interval (in sec)=20
TXTIMEOUT 0x12c # Transaction timeout (in sec)=20
STACKSIZE 512 # Stack size (Kbytes)=20
# Dynamic Logging=20
# DYNAMIC_LOGS:=20
# 2 : server automatically add a new logical log when necessary. (ON)=20
# 1 : notify DBA to add new logical logs when necessary. (ON)=20
# 0 : cannot add logical log on the fly. (OFF)=20
#=20
# When dynamic logging is on, we can have higher values for LTXHWM/LTXEHWM,=
=20
# because the server can add new logical logs during long transaction=20
rollback.=20
# However, to limit the number of new logical logs being added, LTXHWM/LTXE=
HWM=20
# can be set to smaller values.=20
#=20
# If dynamic logging is off, LTXHWM/LTXEHWM need to be set to smaller value=
s=20
# to avoid long transaction rollback hanging the server due to lack of logi=
cal=20
# log space, i.e. 50/60 or lower.=20
#=20
# In case of system configured with CDR, the difference between LTXHWM and=
=20
# LTXEHWM should be atleast 30% so that we could minimize log overrun issue=
.=20
DYNAMIC_LOGS 0=20
LTXHWM 35=20
LTXEHWM 45=20
# System Page Size=20
# BUFFSIZE - OnLine no longer supports this configuration parameter.=20
# To determine the page size used by OnLine on your platform=20
# see the last line of output from the command, 'onstat -b'.=20
# Recovery Variables=20
# OFF_RECVRY_THREADS:=20
# Number of parallel worker threads during fast recovery or an offline=20
restore.=20
# ON_RECVRY_THREADS:=20
# Number of parallel worker threads during an online restore.=20
OFF_RECVRY_THREADS 10 # Default number of offline worker threads=20
ON_RECVRY_THREADS 1 # Default number of online worker threads=20
# Data Replication Variables=20
# DRAUTO: 0 manual, 1 retain type, 2 reverse type=20
DRAUTO 0 # DR automatic switchover=20
DRINTERVAL 30 # DR max time between DR buffer flushes (in sec)=20
DRTIMEOUT 30 # DR network timeout (in sec)=20
DRLOSTFOUND /opt/informix/etc/dr.lostfound # DR lost+found file path=20
DRIDXAUTO 0 # DR automatic index repair. 0=3Doff, 1=3Don=20
# CDR Variables=20
CDR_EVALTHREADS 1,2 # evaluator threads (per-cpu-vp,additional)=20
CDR_DSLOCKWAIT 5 # DS lockwait timeout (seconds)=20
CDR_QUEUEMEM 40
How does one go about 'estimating' this? The performance documentation
says to "set the value of buffers to between 20 and 25 percent of the
number of megabytes in physical memory." - since I have 8Gb total
physical memory, if my math is correct, that means between 819200 and
1024000 buffers (for 20 - 25 percent) which seems awfully high. So if I
bump this up, what kind of indicators do I need to be looking at to
determine if I have TOO MANY buffers?
Thanks!
Brian
> -----Original Message-----
> From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of
Art S. Kagel
> Sent: Wednesday, July 15, 2009 11:41 PM
> To: ids@iiug.org
> Subject: RE: Buffer Turnover Rate question [16415]
>
> The metrics reported by ratios are indicators that you need to
investigate
> further. Combining the very high BTR with the slightly low RAU i'd say
that
> you need more buffers. How many? Hard to say. The BTR indicates that
> the answer may be as high as 6X the current cache. But you should try to
> estimate your working set o data from application needs.
>
> Art
>
> -----Original Message-----
> From: BRIAN AMSTUTZ <brian.amstutz@asburyseminary.edu>
> Sent: Wednesday, July 15, 2009 2:15 PM
> To: ids@iiug.org
> Subject: Buffer Turnover Rate question [16409]
>
> HPUX 11vi2, 4x440MHz cpu, 8GB RAM, Informix 10.00.HC5
>
> I just recently downloaded the ratios.ksh script and started running it.
I m
> not noticing any performance problems as such but it seems like the BTR
is
> quite high. onstat -c and onstat -p output is included below. Anything
to
> worry about? Thanks! -bla
>
> ReadAhead Utilization (UR): 99.6735 %
> Bufwaits Ratio(BR): 1.13657 %
> Average Buffer Turnover Rate (BTR): 36.9059/HR
> Stats reset 71:40:00 ago.
>
> IBM Informix Dynamic Server Version 10.00.HC5 -- On-Line -- Up 2 days
23:47:25
> -- 591028 Kbytes
>
> Configuration File: /opt/informix/etc/onconf.cars> # Root Dbspace Configuration
>
> ROOTNAME root # Root dbspace name
> ROOTPATH /opt/informix/dev/root.1>
> # Path for device containing root dbspace
> ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes)
> ROOTSIZE 1024000 # Size of root dbspace (Kbytes)>
> # Disk Mirroring Configuration Parameters
>
> MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
> MIRRORPATH # Path for device containing mirrored root
> MIRROROFFSET 0 # Offset into mirrored device (Kbytes)>
> # Physical Log Configuration
>
> PHYSDBS root # Location (dbspace) of physical log
> PHYSFILE 40960 # Physical log file size (Kbytes)>
> # Logical Log Configuration
>
> LOGFILES 60 # Number of logical log files
> LOGSIZE 14336 # Logical log size (Kbytes)> LOG_BACKUP_MODE MANUAL # Logical log backup mode (MANUAL, CONT)
>
> # Security
> # DBCREATE_PERMISSION:
> # By default any user can create a database. Uncomment
DBCREATE_PERMISSON to
> # limit database creation to a specific user. Add a new
DBCREATE_PERMISSION
>
> # line for each permitted user.
> DBCREATE_PERMISSION informix
> DBCREATE_PERMISSION root
>
> # IFX_EXTEND_ROLE:
> # 0 = Disable use of EXTEND role to control who can register
> # external routines. This is the default behaviour.
> # 1 = Enable use of EXTEND role to control who can register
> # external routines.
>
> IFX_EXTEND_ROLE 1 # To control the usage of EXTEND role.>
> # Tablespace Tablespace Configuration in Root Dbspace
>
> TBLTBLFIRST 0 # First extent size (Kbytes) (0 = default)
> TBLTBLNEXT 0 # Next extent size (Kbytes) (0 = default)>
> # Diagnostics
>
> MSGPATH /opt/informix/Logs/cars.log # System message log file path
> CONSOLE /dev/console # System console message path>
> # To automatically backup logical logs, edit alarmprogram.sh and set
> # BACKUPLOGS=Y
> ALARMPROGRAM /opt/informix/etc/no_log.sh # Alarm program path
> ALRM_ALL_EVENTS 0 # Triggers ALARMPROGRAM for any event occur
> TBLSPACE_STATS 1 # Maintain tblspace statistics>
> # System Archive Tape Device
>
> TAPEDEV /dev/rmt/1m # Tape device path
> TAPEBLK 256 # Tape block size (Kbytes)
> TAPESIZE 0 # Maximum amount of data to put on tape (Kbytes)>
> # Log Archive Tape Device
>
> LTAPEDEV /dev/rmt/2m # Log tape device path
> LTAPEBLK 32 # Log tape block size (Kbytes)
> LTAPESIZE 0 # Max amount of data to put on log tape (Kbytes)>
> # Optical
>
> STAGEBLOB # Informix Dynamic Server staging area
>
> # System Configuration
>
> SERVERNUM 1 # Unique id corresponding to a OnLine instance
> DBSERVERNAME daniel3 # Name of default database server> DBSERVERALIASES daniel3tcp,carsmain_tcp # List of alternate
dbservernames
> NETTYPE ipcshm,3,250,CPU # Configure poll thread(s) for nettype
> NETTYPE soctcp,3,,NET # Configure poll thread(s) for nettype
> DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed env.
>
> MULTIPROCESSOR 1 # 0 for single-processor, 1 for multi-processor
> SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps to one>
> # Shared Memory Parameters
> BUFFERPOOL
> size=2K,buffers=100000,lrus=29,lru_min_dirty=2.000000,lru_max_dirty=
> =4.000000
> LOCKS 512000 # Maximum number of locks
> PHYSBUFF 64 # Physical log buffer size (Kbytes)
> LOGBUFF 32 # Logical log buffer size (Kbytes)
> CLEANERS 29 # Number of buffer cleaner processes
> SHMBASE 0x0 # Shared memory base address
> SHMVIRTSIZE 321536 # initial virtual shared memory segment size
> SHMADD 32768 # Size of new shared memory segments (Kbytes)
> SHMTOTAL 0 # Total shared memory (Kbytes). 0=>unlimited
> CKPTINTVL 900 # Check point interval (in sec)
> TXTIMEOUT 0x12c # Transaction timeout (in sec)
> STACKSIZE 512 # Stack size (Kbytes)>
> # Dynamic Logging
> # DYNAMIC_LOGS:
> # 2 : server automatically add a new logical log when necessary. (ON)
> # 1 : notify DBA to add new logical logs when necessary. (ON)
> # 0 : cannot add logical log on the fly. (OFF)
> #
> # When dynamic logging is on, we can have higher values for
LTXHWM/LTXEHWM,=
>
> # because the server can add new logical logs during long transaction
> rollback.
> # However, to limit the number of new logical logs being added,
LTXHWM/LTXE=
> HWM
> # can be set to smaller values.
> #
> # If dynamic logging is off, LTXHWM/LTXEHWM need to be set to smaller
value=
> s
> # to avoid long transaction rollback hanging the server due to lack of
logi=
> cal
> # log space, i.e. 50/60 or lower.
> #
> # In case of system configured with CDR, the difference between LTXHWM
and=
>
> # LTXEHWM should be atleast 30% so that we could minimize log overrun
issue=
> ..
>
> DYNAMIC_LOGS 0
> LTXHWM 35
> LTXEHWM 45>
> # System Page Size
> # BUFFSIZE - OnLine no longer supports this configuration parameter.
> # To determine the page size used by OnLine 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 work
The best way to size you cache is to determine the size of what's called
your working set of data, ie the volume of data that is typically accessed
during a typical day. If you can do this you are home free. Failing that,
you can monitor onstat -P over time and see how many buffers are being
swapped between partnums every 1.7 seconds to get an idea how many more
buffers you might need. The final and coarsest way would be to say that the
BTR is 6 times what it should be so you are likely to need to increase your
cache by a factor of 6x.
Art
Art S. Kagel
Oninit (www.oninit.com)
IIUG Board of Directors (art@iiug.org)
Disclaimer: Please keep in mind that my own opinions are my own opinions and
do not reflect on my employer, Oninit, the IIUG, nor any other organization
with which I am associated either explicitly or implicitly. 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 16, 2009 at 5:35 PM, Brian Amstutz <
brian.amstutz@asburyseminary.edu> wrote:
> How does one go about 'estimating' this? The performance documentation
> says to "set the value of buffers to between 20 and 25 percent of the
> number of megabytes in physical memory." - since I have 8Gb total
> physical memory, if my math is correct, that means between 819200 and
> 1024000 buffers (for 20 - 25 percent) which seems awfully high. So if I
> bump this up, what kind of indicators do I need to be looking at to
> determine if I have TOO MANY buffers?
>
> Thanks!
>
> Brian
>
> > -----Original Message-----
> > From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of
> Art S. Kagel
> > Sent: Wednesday, July 15, 2009 11:41 PM
> > To: ids@iiug.org
> > Subject: RE: Buffer Turnover Rate question [16415]
> >
> > The metrics reported by ratios are indicators that you need to
> investigate
> > further. Combining the very high BTR with the slightly low RAU i'd say
> that
> > you need more buffers. How many? Hard to say. The BTR indicates that
> > the answer may be as high as 6X the current cache. But you should try to
>
> > estimate your working set o data from application needs.
> >
> > Art
> >
> > -----Original Message-----
> > From: BRIAN AMSTUTZ <brian.amstutz@asburyseminary.edu>
> > Sent: Wednesday, July 15, 2009 2:15 PM
> > To: ids@iiug.org
> > Subject: Buffer Turnover Rate question [16409]
> >
> > HPUX 11vi2, 4x440MHz cpu, 8GB RAM, Informix 10.00.HC5
> >
> > I just recently downloaded the ratios.ksh script and started running it.
> I m
> > not noticing any performance problems as such but it seems like the BTR
> is
> > quite high. onstat -c and onstat -p output is included below. Anything
> to
> > worry about? Thanks! -bla
> >
> > ReadAhead Utilization (UR): 99.6735 %
> > Bufwaits Ratio(BR): 1.13657 %
> > Average Buffer Turnover Rate (BTR): 36.9059/HR
> > Stats reset 71:40:00 ago.
> >
> > IBM Informix Dynamic Server Version 10.00.HC5 -- On-Line -- Up 2 days
> 23:47:25
> > -- 591028 Kbytes
> >
> > Configuration File: /opt/informix/etc/onconf.cars> > # Root Dbspace Configuration
> >
> > ROOTNAME root # Root dbspace name
> > ROOTPATH /opt/informix/dev/root.1> >
> > # Path for device containing root dbspace
> > ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes)
> > ROOTSIZE 1024000 # Size of root dbspace (Kbytes)> >
> > # Disk Mirroring Configuration Parameters
> >
> > MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
> > MIRRORPATH # Path for device containing mirrored root
> > MIRROROFFSET 0 # Offset into mirrored device (Kbytes)> >
> > # Physical Log Configuration
> >
> > PHYSDBS root # Location (dbspace) of physical log
> > PHYSFILE 40960 # Physical log file size (Kbytes)> >
> > # Logical Log Configuration
> >
> > LOGFILES 60 # Number of logical log files
> > LOGSIZE 14336 # Logical log size (Kbytes)> > LOG_BACKUP_MODE MANUAL # Logical log backup mode (MANUAL, CONT)
> >
> > # Security
> > # DBCREATE_PERMISSION:
> > # By default any user can create a database. Uncomment
> DBCREATE_PERMISSON to
> > # limit database creation to a specific user. Add a new
> DBCREATE_PERMISSION
> >
> > # line for each permitted user.
> > DBCREATE_PERMISSION informix
> > DBCREATE_PERMISSION root
> >
> > # IFX_EXTEND_ROLE:
> > # 0 = Disable use of EXTEND role to control who can register
> > # external routines. This is the default behaviour.
> > # 1 = Enable use of EXTEND role to control who can register
> > # external routines.
> >
> > IFX_EXTEND_ROLE 1 # To control the usage of EXTEND role.> >
> > # Tablespace Tablespace Configuration in Root Dbspace
> >
> > TBLTBLFIRST 0 # First extent size (Kbytes) (0 = default)
> > TBLTBLNEXT 0 # Next extent size (Kbytes) (0 = default)> >
> > # Diagnostics
> >
> > MSGPATH /opt/informix/Logs/cars.log # System message log file path
> > CONSOLE /dev/console # System console message path> >
> > # To automatically backup logical logs, edit alarmprogram.sh and set
> > # BACKUPLOGS=Y
> > ALARMPROGRAM /opt/informix/etc/no_log.sh # Alarm program path
> > ALRM_ALL_EVENTS 0 # Triggers ALARMPROGRAM for any event occur
> > TBLSPACE_STATS 1 # Maintain tblspace statistics> >
> > # System Archive Tape Device
> >
> > TAPEDEV /dev/rmt/1m # Tape device path
> > TAPEBLK 256 # Tape block size (Kbytes)
> > TAPESIZE 0 # Maximum amount of data to put on tape (Kbytes)> >
> > # Log Archive Tape Device
> >
> > LTAPEDEV /dev/rmt/2m # Log tape device path
> > LTAPEBLK 32 # Log tape block size (Kbytes)
> > LTAPESIZE 0 # Max amount of data to put on log tape (Kbytes)> >
> > # Optical
> >
> > STAGEBLOB # Informix Dynamic Server staging area
> >
> > # System Configuration
> >
> > SERVERNUM 1 # Unique id corresponding to a OnLine instance
> > DBSERVERNAME daniel3 # Name of default database server> > DBSERVERALIASES daniel3tcp,carsmain_tcp # List of alternate
> dbservernames
> > NETTYPE ipcshm,3,250,CPU # Configure poll thread(s) for nettype
> > NETTYPE soctcp,3,,NET # Configure poll thread(s) for nettype
> > DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed env.
> >
> > MULTIPROCESSOR 1 # 0 for single-processor, 1 for multi-processor
> > SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps to one> >
> > # Shared Memory Parameters
> > BUFFERPOOL
> > size=2K,buffers=100000,lrus=29,lru_min_dirty=2.000000,lru_max_dirty=
> > =4.000000
> > LOCKS 512000 # Maximum number of locks
> > PHYSBUFF 64 # Physical log buffer size (Kbytes)
> > LOGBUFF 32 # Logical log buffer size (Kbytes)
> > CLEANERS 29 # Number of buffer cleaner processes
> > SHMBASE 0x0 # Shared memory base address
> > SHMVIRTSIZE 321536 # initial virtual shared memory segment size
> > SHMADD 32768 # Size of new shared memory segments (Kbytes)
> > SHMTOTAL 0 # Total shared memory (Kbytes). 0=>unlimited
> > CKPTINTVL 900 # Check point interval (in sec)
> > TXTIMEOUT 0x12c # Transaction timeout (in sec)
> > STACKSIZE 512 # Stack size (Kbytes)> >
> > # Dynamic Logging
> > # DYN