RE: Reducing checkpoint intervals...
Posted in 1998
Pat,
I would reduce the number for LRU_MAXDIRTY/LRU_MINDIRTY before looking
at the number of buffers. I personally don't believe that you can have a
cache hit rate that is too high. If you do reduce the number of buffers
do it in stages and stop if you drop your read rate below 99%. Also keep
an eye on your write rate.
Regards,
David Ashby
-----Original Message-----
From: Narkinsky, Pat [mailto:Pat.Narkinsky@rivhs.com]
Sent: Saturday, 5 September 1998 1:12
To: 'informix-list@iiug.org'
Subject: Reducing checkpoint intervals...
I run a very busy OLTP system. Currently, checkpoints
are taking between 10
and 20 seconds, and are happening every 5 minutes (as
the result of the
checkpoint interval being hit.).
For obvious reasons, I would like to reduce this.
Currently, I see a couple
of things to try:
* Reduce LRU_MAXDIRTY/LRU_MINDIRTY from their
current values of 4/2 to
something even lower. (My idea.) I'm leaning towards
1/0 at the moment.
* My application vendor suggest that I reduce the
number of BUFFERS to
50000, thereby having less memory out there, forcing my
buffers to become
dirty sonner and thereby be cleaned more frequently,
etc... His stated
reason for this is that my read cache hit rate is too
high.
Which of these alternatives would you consider more
reasonable? Why?
Anyone have a third idea? To me, reducing the number of
buffers to get
faster checkpoints seems vaguely silly. But, I've Been
Wrong Before. (TM)
Following this message is a copy of my onconfig for
anyone interested.
Thanks for your help!
Patrick
onconfig
------------------------------------------------------------------------
----
---------------------------------------------------------------------
#***********************************************************************
***
#
# INFORMIX SOFTWARE,
INC.
#
# Title: onconfig.ifx1
# Description: INFORMIX-OnLine Configuration
Parameters
#
#***********************************************************************
***
# Root Dbspace Configuration
ROOTNAME rootdbs # Root dbspacename
ROOTPATH /Medic/db/ifx1/rootdbs
# Path for
device containing root
dbspace
ROOTOFFSET 4 # Offset of rootdbspace into device
(Kbytes)
ROOTSIZE 311292 # Size of root
dbspace (Kbytes)
# Disk Mirroring Configuration Parameters
MIRROR 0 # Mirroring flag
(Yes = 1, No = 0)
MIRRORPATH # Path fordevice containing
mirrored root
MIRROROFFSET 0 # Offset intomirrored device
(Kbytes)
# Physical Log Configuration
PHYSDBS physlog # Location
(dbspace) of physical log
PHYSFILE 100000 # Physical log
file size (Kbytes)
# Logical Log Configuration
LOGFILES 29 # Number oflogical log files
LOGSIZE 10000 # Logical log
size (Kbytes)
# Diagnostics
MSGPATH /Medic/db/ifx1/informix.log #
System message log
file path
CONSOLE /Medic/db/ifx1/console.log #
System console message
path
ALARMPROGRAM # Alarm programpath
# System Archive Tape Device
TAPEDEV /dev/rmt1.1 # Tape devicepath
TAPEBLK 1024 # Tape block
size (Kbytes)
TAPESIZE 30000000 # Maximum amountof data to put on
tape (Kbytes)
# Log Archive Tape Device
LTAPEDEV /dev/null # Log tapedevice path
LTAPEBLK 1024 # Log tape block
size (Kbytes)
LTAPESIZE 5990000 # Max amount ofdata to put on log
tape (Kbytes)
# Optical
STAGEBLOB ,0 #
INFORMIX-OnLine/Optical staging
area
# System Configuration
SERVERNUM 1 # Unique idcorresponding to a
OnLine instance
DBSERVERNAME ifx1 # Name ofdefault database server
DBSERVERALIASES ifx1_tcp1 # List ofalternate dbservernames
NETTYPE ipcshm,2,400,CPU
NETTYPE soctcp,1,50,NET
DEADLOCK_TIMEOUT 60 # Max time towait of lock in
distributed env.
RESIDENT 0 # Forced
residency flag (Yes = 1, No
= 0)
MULTIPROCESSOR 1 # 0 forsingle-processor, 1 for
multi-processor
NUMCPUVPS 12 # Number of user
(cpu) vps
SINGLE_CPU_VP 0 # If non-zero,limit number of cpu
vps to one
NOAGE 1 # Process aging
AFF_SPROC 0 # Affinity startprocessor
AFF_NPROCS 0 # Affinitynumber of processors
# Shared Memory Parameters
LOCKS 150000 # Maximum numberof locks
BUFFERS 150000 # Maximum numberof shared buffers
NUMAIOVPS 1 # Number of IOvps
PHYSBUFF 64 # Physical log
buffer size (Kbytes)
LOGBUFF 64 # Logical log
buffer size (Kbytes)
LOGSMAX 45 # Maximum numberof logical log
files
CLEANERS 48 # Number ofbuffer cleaner processes
SHMBASE 0x30000000 # Shared memorybase address
SHMVIRTSIZE 256000 # initialvirtual shared memory
segment size
SHMADD 256000 # Size of newshared memory segments
(Kbytes)
SHMTOTAL 0 # Total shared
memory (Kbytes).
0=>unlimited
CKPTINTVL 300 # Check point
interval (in sec)
LRUS 48 # Number of LRUqueues
LRU_MAX_DIRTY 4 # LRU percent dirtybegin cleaning limit
LRU_MIN_DIRTY 2 # LRU percentdirty end cleaning
limit
LTXHWM 50 # Longtransaction high water mark
percentage
LTXEHWM 60 # Longtransaction high water mark
(exclusive)
TXTIMEOUT 0x12c # Transaction
timeout (in sec)
STACKSIZE 32 # Stack size
(Kbytes)
# 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 numberof offline worker
threads
ON_RECVRY_THREADS 1 # Default numberof online worker
threads
# Data Replication Variables
# DRAUTO: 0 manual, 1 retain type, 2 reverse
type
DRAUTO 0 # DR automaticswitchover
DRINTERVAL 30 # DR max timebetween DR buffer
flushes (in sec)
DRTIMEOUT 30 # DR network
timeout (in sec)
DRLOSTFOUND
/Medic/APPS/Informix71/etc/dr.lostfound