Long Transaction
Posted in 2000
Topics: Storage & Space Management, Server Administration, Transactions, Locking & Isolation, Logging & Checkpoints, Networking & sqlhosts Configuration, Versions, Editions & End-of-Life
Hi, All
Recently i do face a long of Long Transaction problem and cause the
whole database engine hang there until we kill certain process to release
it. below are my configuration for my IDS 7.3 UC5 which running on Sun
Solaris 2.6 and my onstat -d output. any help would appreciate.
Thank you.
Regards
Agnes
#**************************************************************************
#
# INFORMIX SOFTWARE, INC.
#
# Title: onconfig.std
# Description: INFORMIX-OnLine Configuration Parameters
#
#**************************************************************************
# Root Dbspace Configuration
ROOTNAME rootdbs # Root dbspace nameROOTPATH /dev/rawlinks/rootdb01
# Path for device containing root dbspace
ROOTOFFSET 0 # Offset of root dbspace into device
(Kbytes)#ROOTSIZE 500000 # Size of root dbspace (Kbytes)
ROOTSIZE 1000000 # New Size for E10K
# 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 rootdbs # Location (dbspace) of physical log
PHYSFILE 256000 # Physical log file size (Kbytes)
# Logical Log Configuration
LOGFILES 100 # Number of logical log files
LOGSIZE 500 # Logical log size (Kbytes)#LOGFILES 100 # Number of logical log files
#LOGSIZE 5000 # Logical log size (Kbytes)
# Diagnostics
MSGPATH /usr/informix7/online.log # System message log file path
CONSOLE /dev/console # System console message path
ALARMPROGRAM /usr/informix7/etc/no_log.sh # Alarm program path
# System Archive Tape Device
TAPEDEV /dev/rmt/0h # Tape device path#TAPEDEV /dev/null # Tape device path
TAPEBLK 1024 # Tape block size (Kbytes)
TAPESIZE 40000000 # Maximum amount of data to put on tape
(Kbytes)
# Log Archive Tape Device
#LTAPEDEV /dev/null # Log tape device path
#LTAPEBLK 16 # Log tape block size (Kbytes)
#LTAPESIZE 10240 # Max amount of data to put on log tape
(Kbytes)
LTAPEDEV /dev/null # Tape device path
LTAPEBLK 16 # Tape block size (Kbytes)
LTAPESIZE 7000000 # Maximum amount of data to put on tape
(Kbytes)
# Optical
STAGEBLOB # INFORMIX-OnLine/Optical staging area
# System Configuration
SERVERNUM 0 # Unique id corresponding to a OnLineinstance
DBSERVERNAME infimacs2 # Name of default database server
DBSERVERALIASES infimacs2_shm # List of alternate dbservernames
NETTYPE ipcshm,1,400,CPU
NETTYPE tlitcp,4,100,NET
#NETTYPE tlitcp,1,100,NET
#NETTYPE ipcstr,1,100,NET
DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed
env.
RESIDENT 0 # Forced residency flag (Yes = 1, No = 0)
MULTIPROCESSOR 1 # 0 for single-processor, 1 formulti-processor
NUMCPUVPS 8 # Number of user (cpu) vps#NUMCPUVPS 6 # Number of user (cpu) vps
SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps toone
NOAGE 1 # Process aging
AFF_SPROC 0 # Affinity start processor
AFF_NPROCS 8 # Affinity number of processors
# Shared Memory Parameters
#LOCKS 70000 # Maximum number of locks
#LOCKS 200000 # Maximum number of locks
#LOCKS 400000 # Maximum number of locks
#LOCKS 600000 # Maximum number of locks
LOCKS 4000000 # Increase by KH on 27 Jan 1999#BUFFERS 100000 # Maximum number of shared buffers
#BUFFERS 200000 # Maximum number of shared buffers
#BUFFERS 300000 # Increase by KH on 25 Apr 1999
BUFFERS 500000 # Increase by KH on 25 Apr 1999
NUMAIOVPS 1 # Number of IO vps
PHYSBUFF 640 # Physical log buffer size (Kbytes)
LOGBUFF 640 # Logical log buffer size (Kbytes)LOGSMAX 128 # Maximum number of logical log files
#Change CLEANERS from 5 to 8 on Apr 15 199 by KH
#CLEANERS 8 # Number of buffer cleaner processes
#CLEANERS 32 # Number of buffer cleaner processes
CLEANERS 10 # Number of buffer cleaner processes
SHMBASE 0xa000000 # Shared memory base address#SHMVIRTSIZE 500000 # initial virtual shared memory segment size
#SHMVIRTSIZE 35000 # initial virtual shared memory segment
size
SHMVIRTSIZE 327680 # Size of new shared memory segments
(Kbytes)#SHMADD 8192 # Size of new shared memory segments
(Kbytes)
SHMADD 32768 # Size of new shared memory segments
(Kbytes)
SHMTOTAL 0 # Total shared memory (Kbytes). 0=>unlimited
CKPTINTVL 300 # Check point interval (in sec)#Change LRUS from 5 to 8 to 20 on Apr 15 1999 by KH
#LRUS 8 # Number of LRU queues
LRUS 32 # Number of LRU queues
LRU_MAX_DIRTY 2 # LRU percent dirty begin cleaning limit
LRU_MIN_DIRTY 1 # LRU percent dirty end cleaning limit#LRU_MAX_DIRTY 10 # LRU percent dirty begin cleaning limit
#LRU_MIN_DIRTY 5 # LRU percent dirty end cleaning limit
#LRU_MAX_DIRTY 60 # LRU percent dirty begin cleaning limit
#LRU_MIN_DIRTY 50 # LRU percent dirty end cleaning limit
LTXHWM 50 # Long transaction high water markpercentage
LTXEHWM 60 # Long transaction 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 number of offline workerthreads
ON_RECVRY_THREADS 5 # 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)D
i first wonder why this
LRU_MAX_DIRTY 2 # LRU percent dirty begin cleaning limit
LRU_MIN_DIRTY 1 # LRU percent dirty end cleaning limitwhy are these numbers so low? this will create a low efficiency write cache
( look at onstat -p to see if this is true)
( some one please correct me if i am wrong about this...)
which means every time there is a change to the database the physical log has to
be
retrieved into the buffer cache, in a vicious cycle: i.e.;
user changes ( updates), the buffer is written to the physical log ( before
image),
the buffer is modified, , the low max dirty limit is reached, the lru cleaner
starts,
the physical log is written, the physical log is retrieved etc...
you probably should increase the size of your physical log for the above reason,
as well as since at 75% ( if you ever reach it, with the lru so low you may
not.)
the physical log has to be written.
lbu_preserve is set to 1, which is a good thing.
and what about the sql causing this, if a huge update is taking place with no
commits along the way, won't that cause the situation you are describing?
i think i read that the size of the entire logical log needs to be large enough
to accomodate this sort of update.
hth
Agnes Ng wrote:
> Hi, All
>
> Recently i do face a long of Long Transaction problem and cause the
> whole database engine hang there until we kill certain process to release
> it. below are my configuration for my IDS 7.3 UC5 which running on Sun
> Solaris 2.6 and my onstat -d output. any help would appreciate.
>
> Thank you.
>
> Regards
> Agnes
>
> #**************************************************************************
> #
> # INFORMIX SOFTWARE, INC.
> #
> # Title: onconfig.std
> # Description: INFORMIX-OnLine Configuration Parameters
> #
> #**************************************************************************
>
> # Root Dbspace Configuration
>
> ROOTNAME rootdbs # Root dbspace name> ROOTPATH /dev/rawlinks/rootdb01
> # Path for device containing root dbspace
> ROOTOFFSET 0 # Offset of root dbspace into device
> (Kbytes)> #ROOTSIZE 500000 # Size of root dbspace (Kbytes)
> ROOTSIZE 1000000 # New Size for E10K>
> # 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 rootdbs # Location (dbspace) of physical log
> PHYSFILE 256000 # Physical log file size (Kbytes)>
> # Logical Log Configuration
>
> LOGFILES 100 # Number of logical log files
> LOGSIZE 500 # Logical log size (Kbytes)> #LOGFILES 100 # Number of logical log files
> #LOGSIZE 5000 # Logical log size (Kbytes)
>
> # Diagnostics
>
> MSGPATH /usr/informix7/online.log # System message log file path
> CONSOLE /dev/console # System console message path
> ALARMPROGRAM /usr/informix7/etc/no_log.sh # Alarm program path>
> # System Archive Tape Device
>
> TAPEDEV /dev/rmt/0h # Tape device path> #TAPEDEV /dev/null # Tape device path
> TAPEBLK 1024 # Tape block size (Kbytes)
> TAPESIZE 40000000 # Maximum amount of data to put on tape
> (Kbytes)>
> # Log Archive Tape Device
>
> #LTAPEDEV /dev/null # Log tape device path
> #LTAPEBLK 16 # Log tape block size (Kbytes)
> #LTAPESIZE 10240 # Max amount of data to put on log tape
> (Kbytes)
>
> LTAPEDEV /dev/null # Tape device path
> LTAPEBLK 16 # Tape block size (Kbytes)
> LTAPESIZE 7000000 # Maximum amount of data to put on tape
> (Kbytes)>
> # Optical
>
> STAGEBLOB # INFORMIX-OnLine/Optical staging area
>
> # System Configuration
>
> SERVERNUM 0 # Unique id corresponding to a OnLine> instance
> DBSERVERNAME infimacs2 # Name of default database server
> DBSERVERALIASES infimacs2_shm # List of alternate dbservernames
> NETTYPE ipcshm,1,400,CPU
> NETTYPE tlitcp,4,100,NET
> #NETTYPE tlitcp,1,100,NET
> #NETTYPE ipcstr,1,100,NET
> DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed
> env.
> RESIDENT 0 # Forced residency flag (Yes = 1, No = 0)
>
> MULTIPROCESSOR 1 # 0 for single-processor, 1 for> multi-processor
> NUMCPUVPS 8 # Number of user (cpu) vps> #NUMCPUVPS 6 # 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 start processor
> AFF_NPROCS 8 # Affinity number of processors>
> # Shared Memory Parameters
>
> #LOCKS 70000 # Maximum number of locks
> #LOCKS 200000 # Maximum number of locks
> #LOCKS 400000 # Maximum number of locks
> #LOCKS 600000 # Maximum number of locks
> LOCKS 4000000 # Increase by KH on 27 Jan 1999> #BUFFERS 100000 # Maximum number of shared buffers
> #BUFFERS 200000 # Maximum number of shared buffers
> #BUFFERS 300000 # Increase by KH on 25 Apr 1999
> BUFFERS 500000 # Increase by KH on 25 Apr 1999
> NUMAIOVPS 1 # Number of IO vps
> PHYSBUFF 640 # Physical log buffer size (Kbytes)
> LOGBUFF 640 # Logical log buffer size (Kbytes)> LOGSMAX 128 # Maximum number of logical log files
> #Change CLEANERS from 5 to 8 on Apr 15 199 by KH
> #CLEANERS 8 # Number of buffer cleaner processes
> #CLEANERS 32 # Number of buffer cleaner processes
> CLEANERS 10 # Number of buffer cleaner processes
> SHMBASE 0xa000000 # Shared memory base address> #SHMVIRTSIZE 500000 # initial virtual shared memory segment size
> #SHMVIRTSIZE 35000 # initial virtual shared memory segment
> size
> SHMVIRTSIZE 327680 # Size of new shared memory segments
> (Kbytes)> #SHMADD 8192 # Size of new shared memory segments
> (Kbytes)
> SHMADD 32768 # Size of new shared memory segments
> (Kbytes)
> SHMTOTAL 0 # Total shared memory (Kbytes). 0=>unlimited
> CKPTINTVL 300 # Check point interval (in sec)> #Change LRUS from 5 to 8 to 20 on Apr 15 1999 by KH
> #LRUS 8 # Number of LRU queues
> LRUS 32 # Number of LRU queues
> LRU_MAX_DIRTY 2
i first wonder why this
LRU_MAX_DIRTY 2 # LRU percent dirty begin cleaning limit
LRU_MIN_DIRTY 1 # LRU percent dirty end cleaning limitwhy are these numbers so low? this will create a low efficiency write cache
( look at onstat -p to see if this is true)
( some one please correct me if i am wrong about this...)
which means every time there is a change to the database the physical log has to
be
retrieved into the buffer cache, in a vicious cycle: i.e.;
user changes ( updates), the buffer is written to the physical log ( before
image),
the buffer is modified, , the low max dirty limit is reached, the lru cleaner
starts,
the physical log is written, the physical log is retrieved etc...
you probably should increase the size of your physical log for the above reason,
as well as since at 75% ( if you ever reach it, with the lru so low you may
not.)
the physical log has to be written.
lbu_preserve is set to 1, which is a good thing.
and what about the sql causing this, if a huge update is taking place with no
commits along the way, won't that cause the situation you are describing?
i think i read that the size of the entire logical log needs to be large enough
to accomodate this sort of update.
hth
Agnes Ng wrote:
> Hi, All
>
> Recently i do face a long of Long Transaction problem and cause the
> whole database engine hang there until we kill certain process to release
> it. below are my configuration for my IDS 7.3 UC5 which running on Sun
> Solaris 2.6 and my onstat -d output. any help would appreciate.
>
> Thank you.
>
> Regards
> Agnes
>
> #**************************************************************************
> #
> # INFORMIX SOFTWARE, INC.
> #
> # Title: onconfig.std
> # Description: INFORMIX-OnLine Configuration Parameters
> #
> #**************************************************************************
>
> # Root Dbspace Configuration
>
> ROOTNAME rootdbs # Root dbspace name> ROOTPATH /dev/rawlinks/rootdb01
> # Path for device containing root dbspace
> ROOTOFFSET 0 # Offset of root dbspace into device
> (Kbytes)> #ROOTSIZE 500000 # Size of root dbspace (Kbytes)
> ROOTSIZE 1000000 # New Size for E10K>
> # 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 rootdbs # Location (dbspace) of physical log
> PHYSFILE 256000 # Physical log file size (Kbytes)>
> # Logical Log Configuration
>
> LOGFILES 100 # Number of logical log files
> LOGSIZE 500 # Logical log size (Kbytes)> #LOGFILES 100 # Number of logical log files
> #LOGSIZE 5000 # Logical log size (Kbytes)
>
> # Diagnostics
>
> MSGPATH /usr/informix7/online.log # System message log file path
> CONSOLE /dev/console # System console message path
> ALARMPROGRAM /usr/informix7/etc/no_log.sh # Alarm program path>
> # System Archive Tape Device
>
> TAPEDEV /dev/rmt/0h # Tape device path> #TAPEDEV /dev/null # Tape device path
> TAPEBLK 1024 # Tape block size (Kbytes)
> TAPESIZE 40000000 # Maximum amount of data to put on tape
> (Kbytes)>
> # Log Archive Tape Device
>
> #LTAPEDEV /dev/null # Log tape device path
> #LTAPEBLK 16 # Log tape block size (Kbytes)
> #LTAPESIZE 10240 # Max amount of data to put on log tape
> (Kbytes)
>
> LTAPEDEV /dev/null # Tape device path
> LTAPEBLK 16 # Tape block size (Kbytes)
> LTAPESIZE 7000000 # Maximum amount of data to put on tape
> (Kbytes)>
> # Optical
>
> STAGEBLOB # INFORMIX-OnLine/Optical staging area
>
> # System Configuration
>
> SERVERNUM 0 # Unique id corresponding to a OnLine> instance
> DBSERVERNAME infimacs2 # Name of default database server
> DBSERVERALIASES infimacs2_shm # List of alternate dbservernames
> NETTYPE ipcshm,1,400,CPU
> NETTYPE tlitcp,4,100,NET
> #NETTYPE tlitcp,1,100,NET
> #NETTYPE ipcstr,1,100,NET
> DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed
> env.
> RESIDENT 0 # Forced residency flag (Yes = 1, No = 0)
>
> MULTIPROCESSOR 1 # 0 for single-processor, 1 for> multi-processor
> NUMCPUVPS 8 # Number of user (cpu) vps> #NUMCPUVPS 6 # 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 start processor
> AFF_NPROCS 8 # Affinity number of processors>
> # Shared Memory Parameters
>
> #LOCKS 70000 # Maximum number of locks
> #LOCKS 200000 # Maximum number of locks
> #LOCKS 400000 # Maximum number of locks
> #LOCKS 600000 # Maximum number of locks
> LOCKS 4000000 # Increase by KH on 27 Jan 1999> #BUFFERS 100000 # Maximum number of shared buffers
> #BUFFERS 200000 # Maximum number of shared buffers
> #BUFFERS 300000 # Increase by KH on 25 Apr 1999
> BUFFERS 500000 # Increase by KH on 25 Apr 1999
> NUMAIOVPS 1 # Number of IO vps
> PHYSBUFF 640 # Physical log buffer size (Kbytes)
> LOGBUFF 640 # Logical log buffer size (Kbytes)> LOGSMAX 128 # Maximum number of logical log files
> #Change CLEANERS from 5 to 8 on Apr 15 199 by KH
> #CLEANERS 8 # Number of buffer cleaner processes
> #CLEANERS 32 # Number of buffer cleaner processes
> CLEANERS 10 # Number of buffer cleaner processes
> SHMBASE 0xa000000 # Shared memory base address> #SHMVIRTSIZE 500000 # initial virtual shared memory segment size
> #SHMVIRTSIZE 35000 # initial virtual shared memory segment
> size
> SHMVIRTSIZE 327680 # Size of new shared memory segments
> (Kbytes)> #SHMADD 8192 # Size of new shared memory segments
> (Kbytes)
> SHMADD 32768 # Size of new shared memory segments
> (Kbytes)
> SHMTOTAL 0 # Total shared memory (Kbytes). 0=>unlimited
> CKPTINTVL 300 # Check point interval (in sec)> #Change LRUS from 5 to 8 to 20 on Apr 15 1999 by KH
> #LRUS 8 # Number of LRU queues
> LRUS 32 # Number of LRU queues
> LRU_MAX_DIRTY 2
Well, you haven't enough logical log space for your application, so one or
the other need to change. So, add more logical logs (you haven't shown
onstat -l, so we don't know how much you already have), or find out what itis about your application that is udating so much data in a single
transaction.
On first glance your application looks suspicious, because you've had
consistently to increase the number of LOCKS, up to 4000000. A setting as
high as that is indicative of the possibility of poor transaction logic
IMHO.
Even so, your database shouldn't freeze. Try reducing the two settings
LTXHWM and LTXEHWM to, say 40 and 45.
Agnes Ng wrote in message <8ig4oc$neh$1@news.xmission.com>...
>
>Hi, All
>
> Recently i do face a long of Long Transaction problem and cause the
>whole database engine hang there until we kill certain process to release
>it. below are my configuration for my IDS 7.3 UC5 which running on Sun
>Solaris 2.6 and my onstat -d output. any help would appreciate.
>
>Thank you.
>
>
>
>Regards
>Agnes
>
>#**************************************************************************
>#
># INFORMIX SOFTWARE, INC.
>#
># Title: onconfig.std
># Description: INFORMIX-OnLine Configuration Parameters
>#
>#**************************************************************************
>
># Root Dbspace Configuration
>
>ROOTNAME rootdbs # Root dbspace name>ROOTPATH /dev/rawlinks/rootdb01
> # Path for device containing root dbspace
>ROOTOFFSET 0 # Offset of root dbspace into device
>(Kbytes)>#ROOTSIZE 500000 # Size of root dbspace (Kbytes)
>ROOTSIZE 1000000 # New Size for E10K>
># 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 rootdbs # Location (dbspace) of physical log
>PHYSFILE 256000 # Physical log file size (Kbytes)>
># Logical Log Configuration
>
>LOGFILES 100 # Number of logical log files
>LOGSIZE 500 # Logical log size (Kbytes)>#LOGFILES 100 # Number of logical log files
>#LOGSIZE 5000 # Logical log size (Kbytes)
>
># Diagnostics
>
>MSGPATH /usr/informix7/online.log # System message log file path
>CONSOLE /dev/console # System console message path
>ALARMPROGRAM /usr/informix7/etc/no_log.sh # Alarm program path>
># System Archive Tape Device
>
>TAPEDEV /dev/rmt/0h # Tape device path>#TAPEDEV /dev/null # Tape device path
>TAPEBLK 1024 # Tape block size (Kbytes)
>TAPESIZE 40000000 # Maximum amount of data to put on tape
>(Kbytes)>
># Log Archive Tape Device
>
>#LTAPEDEV /dev/null # Log tape device path
>#LTAPEBLK 16 # Log tape block size (Kbytes)
>#LTAPESIZE 10240 # Max amount of data to put on log tape
>(Kbytes)
>
>LTAPEDEV /dev/null # Tape device path
>LTAPEBLK 16 # Tape block size (Kbytes)
>LTAPESIZE 7000000 # Maximum amount of data to put on tape
>(Kbytes)>
># Optical
>
>STAGEBLOB # INFORMIX-OnLine/Optical staging area
>
># System Configuration
>
>SERVERNUM 0 # Unique id corresponding to a OnLine>instance
>DBSERVERNAME infimacs2 # Name of default database server
>DBSERVERALIASES infimacs2_shm # List of alternate dbservernames
>NETTYPE ipcshm,1,400,CPU
>NETTYPE tlitcp,4,100,NET
>#NETTYPE tlitcp,1,100,NET
>#NETTYPE ipcstr,1,100,NET
>DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed
>env.
>RESIDENT 0 # Forced residency flag (Yes = 1, No = 0)
>
>MULTIPROCESSOR 1 # 0 for single-processor, 1 for>multi-processor
>NUMCPUVPS 8 # Number of user (cpu) vps>#NUMCPUVPS 6 # 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 start processor
>AFF_NPROCS 8 # Affinity number of processors>
># Shared Memory Parameters
>
>#LOCKS 70000 # Maximum number of locks
>#LOCKS 200000 # Maximum number of locks
>#LOCKS 400000 # Maximum number of locks
>#LOCKS 600000 # Maximum number of locks
>LOCKS 4000000 # Increase by KH on 27 Jan 1999>#BUFFERS 100000 # Maximum number of shared buffers
>#BUFFERS 200000 # Maximum number of shared buffers
>#BUFFERS 300000 # Increase by KH on 25 Apr 1999
>BUFFERS 500000 # Increase by KH on 25 Apr 1999
>NUMAIOVPS 1 # Number of IO vps
>PHYSBUFF 640 # Physical log buffer size (Kbytes)
>LOGBUFF 640 # Logical log buffer size (Kbytes)>LOGSMAX 128 # Maximum number of logical log files
>#Change CLEANERS from 5 to 8 on Apr 15 199 by KH
>#CLEANERS 8 # Number of buffer cleaner processes
>#CLEANERS 32 # Number of buffer cleaner processes
>CLEANERS 10 # Number of buffer cleaner processes
>SHMBASE 0xa000000 # Shared memory base address>#SHMVIRTSIZE 500000 # initial virtual shared memory segment
size
>#SHMVIRTSIZE 35000 # initial virtual shared memory segment
>size
>SHMVIRTSIZE 327680 # Size of new shared memory segments
>(Kbytes)>#SHMADD 8192 # Size of new shared memory segments
>(Kbytes)
>SHMADD 32768 # Size of new shared memory segments
>(Kbytes)
>SHMTOTAL 0 # Total shared memory (Kbytes).
0=>unlimited
>CKPTINTVL 300 # Check point interval (in sec)>#Change LRUS from 5 to 8 to 20 on Apr 15 1999 by KH
>#LRUS 8 # Number of LRU queues
>LRUS 32 # Number of LRU queues
>LRU_MAX_DIRTY 2 # LRU percent dirty begin cleaning limit
>LRU_MIN_DIRTY 1 # LRU percent dirty end cleaning limit>#LRU_MAX_DIRTY 10 # LRU percent dirty begin cleaning limit
>#LRU_MIN_DIRTY 5 # LRU percent dirty end cleaning limit
>#LRU_MAX_DIRTY 60 # LRU percent dirty begin cleaning limit
>#LRU_MIN_DIRTY 50 # LRU percent dirty end cleaning limit
>LTXHWM 50 # Long transaction high water mark>percentage
>LTXEHWM 60 # Long transaction high water mark
>(exclusive)
>TXTIMEOUT 0x12c # Transaction timeout (in sec)
>STACKSIZE 32
Edward Rosenthal wrote in message <394B2EF7.8AEBDAFB@home.com>...
>i first wonder why this
>
>LRU_MAX_DIRTY 2 # LRU percent dirty begin cleaning limit
>LRU_MIN_DIRTY 1 # LRU percent dirty end cleaning limit>why are these numbers so low? this will create a low efficiency write cache
I don't agree with you. With a 1GByte buffer cache, even 2%/1% is still
5,000 dirty buffers to be written should the limit be hit. Higher values
may result in improved cache rates but also in longer checkpoint times.
I've always thought thaat this two parameters might better be expressed in
units of buffers, rather than percantages, since their value is so dependent
upon the number of buffers.
oh yeah.
what about the phys log size tho...?
Neil Truby wrote:
> Edward Rosenthal wrote in message <394B2EF7.8AEBDAFB@home.com>...
> >i first wonder why this
> >
> >LRU_MAX_DIRTY 2 # LRU percent dirty begin cleaning limit
> >LRU_MIN_DIRTY 1 # LRU percent dirty end cleaning limit> >why are these numbers so low? this will create a low efficiency write cache
>
> I don't agree with you. With a 1GByte buffer cache, even 2%/1% is still
> 5,000 dirty buffers to be written should the limit be hit. Higher values
> may result in improved cache rates but also in longer checkpoint times.
> I've always thought thaat this two parameters might better be expressed in
> units of buffers, rather than percantages, since their value is so dependent
> upon the number of buffers.
Related threads
- IDS 10 table-level restore
- Informix Development Webinar December 11, 2007
- ontape -p/r with changed ROOTPATH
- Migrate from HP PA-RISC to HP ITANIUM by ontape