Long checkpoints
Posted in 2004
Topics: Storage & Space Management, Transactions, Locking & Isolation, Logging & Checkpoints, Networking & sqlhosts Configuration, Versions, Editions & End-of-Life
Hi, all.
Environment:
IDS 9.21, HP UX 11, OLTP application.
Informix stores data on raw devices on disk array. Unfortunatley, this
array is
used by other applications also. Guess, this is reason, why sometimes
checkpoint time jumps to 20 seconds, which is not acceptable. Below is
current config file. With LRU_MIN_DIRTY and LRU_MAX_DIRTY set to 0 and
1 and all other parameters set as they are, checkpoints should happen
often and be very short, as far as I understand. But with all this
set, checkpoints happen at CKPTINTVL, every 3 minutes, so I think that
AMOUNT of data being written is not what causes the long checkpoint.
Am I right, assuming that this is not Informix related problem and we
should configure disk array not tune Informix parameters?
Below is also sar -d, how about it?
Thanks!
Andris
# Root Dbspace Configuration
ROOTNAME rootdb # Root dbspace nameROOTPATH /cortex/dev/rootdb
# Path for device containing root
dbspace
ROOTOFFSET 0 # Offset of root dbspace into device
(Kbytes)
ROOTSIZE 100000 # Size of root dbspace (Kbytes)
# Disk Mirroring Configuration Parameters
MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
MIRRORPATH # Path for device containing mirroredroot
MIRROROFFSET 0 # Offset into mirrored device (Kbytes)
# Physical Log Configuration
PHYSDBS plog # Location (dbspace) of physical log
PHYSFILE 12000 # Physical log file size (Kbytes)
# Logical Log Configuration
LOGFILES 876 # Number of logical log files
LOGSIZE 4000 # Logical log size (Kbytes)
# Diagnostics
MSGPATH /ctxtools/informix/online2000.log
# System message log file path
CONSOLE /dev/console # System console message path
ALARMPROGRAM /ctxtools/informix/etc/alarm_prog.sh # Alarm programpath
TBLSPACE_STATS 0 # Maintain tblspace statistics
# System Archive Tape Device
TAPEDEV /dev/tape # Tape device path
TAPEBLK 512 # Tape block size (Kbytes)
TAPESIZE 100000000 # Maximum amount of data to put on
tape (Kbytes)
# Log Archive Tape Device
LTAPEDEV /cortex/dev/tapen # Log tape device path
LTAPEBLK 512 # Log tape block size (Kbytes)
LTAPESIZE 100000000 # Max amount of data to put on log
tape (Kbytes)
# System Configuration
SERVERNUM 0 # Unique id corresponding to a OnLineinstance
DBSERVERNAME cortex # Name of default database server
DBSERVERALIASES cortex_tcp # List of alternate dbservernames
NETTYPE ipcshm,2,320,CPU # Configure poll thread(s) fornettype
#NETTYPE soctcp,1,270,NET # Configure poll thread(s) for
nettype
DEADLOCK_TIMEOUT 60 # Max time to wait of lock indistributed env.
RESIDENT 0 # Forced residency flag (Yes = 1, No =
0)
MULTIPROCESSOR 1 # 0 for single-processor, 1 formulti-processor
NUMCPUVPS 3 # Number of user (cpu) vps
SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vpsto one
NOAGE 1 # Process aging
AFF_SPROC 0 # Affinity start processor
AFF_NPROCS 0 # Affinity number of processors
# Shared Memory Parameters
LOCKS 500000 # Maximum number of locks
BUFFERS 393216 # Maximum number of shared buffers
NUMAIOVPS 20 # Number of IO vps
PHYSBUFF 32 # Physical log buffer size (Kbytes)
LOGBUFF 32 # Logical log buffer size (Kbytes)LOGSMAX 4000 # Maximum number of logical log files
CLEANERS 128 # Number of buffer cleaner processes
SHMBASE 0x0 # Shared memory base address
SHMVIRTSIZE 158940 # initial virtual shared memorysegment size
SHMADD 32768 # Size of new shared memory segments
(Kbytes)
SHMTOTAL 0 # Total shared memory (Kbytes).
0=>unlimited
CKPTINTVL 180 # Check point interval (in sec)
LRUS 128 # Number of LRU queues
LRU_MAX_DIRTY 1 # LRU percent dirty begin cleaninglimit
LRU_MIN_DIRTY 0 # 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)
DBSPACETEMP # Default temp dbspaces
---------------------------------------------------------------------------
12:55:00 device %busy avque r+w/s blks/s avwait avserv
12:55:03 c2t2d0 4.59 0.59 6 46 5.20 14.02
c1t2d0 3.79 0.50 5 42 4.84 10.64
c23t2d1 96.41 8.77 248 2191 80.09 34.97
12:55:08 c2t2d0 6.96 0.50 8 45 5.09 9.74
c1t2d0 3.98 0.50 5 29 4.55 8.06
c23t2d1 98.21 1.91 60 1705 38.82 92.98
12:55:13 c2t2d0 5.65 0.50 6 40 5.57 13.62
c1t2d0 3.83 0.50 4 35 5.40 9.50
c23t2d1 97.18 0.94 79 1782 38.33 77.97
12:55:18 c2t2d0 3.79 0.50 4 16 4.90 10.63
c1t2d0 2.99 0.50 3 14 4.98 9.51
c23t2d1 59.68 0.84 78 1864 14.37 29.00
12:55:23 c2t2d0 5.19 0.50 7 74 4.87 15.57
c1t2d0 4.59 0.50 6 68 4.62 14.30
c23t2d1 97.80 3.17 73 1931 26.42 61.09
12:55:28 c2t2d0 3.41 0.50 4 43 6.38 10.72
c1t2d0 2.40 0.50 3 39 6.71 8.99
c23t2d1 96.39 0.84 61 1630 18.46 91.71
12:55:33 c2t2d0 3.01 0.50 3 19 5.44 10.64
c1t2d0 2.20 0.50 2 15 5.17 9.75
c23t2d1 55.51 0.60 57 968 8.16 30.87
12:55:38 c2t2d0 4.77 0.50 5 20 5.87 10.33
c1t2d0 3.18 0.50 4 16 6.24 7.98
c23t2d1 99.40 6.14 59 2128 98.71 120.28
12:55:43 c2t2d0 3.62 0.50 5 48 5.36 9.72
c1t2d0 3.02 0.50 4 42 5.88 9.70
c23t2d1 84.71 0.69 97 1891 13.22 36.93
12:55:48 c2t2d0 2.20 0.50 3 22 4.98 9.78
c1t2d0 1.60 0.50 2 19 5.33 8.88
c23t2d1 13.20 0.58 52 1473 5.25 18.20
12:55:53 c2t2d0 2.19 0.50 3 20 4.81 9.50
c1t2d0 1.99 0.50 2 20 4.79 8.29
c23t2d1 66.53 0.91 82 1648
c23t2d1 96.41 8.77 248 2191 80.09 34.97
Is the killer line, this disk is being flattened, 20% is typically
deemed to be very busy, access time to 'standard' disks should be
10-20 ms, NVRAM backed arrays can run at <1ms, wait times should be
0 or < 5ms
Cheers
Paul
Andris wrote:
>
> Hi, all.
>
> Environment:
>
> IDS 9.21, HP UX 11, OLTP application.
>
> Informix stores data on raw devices on disk array. Unfortunatley, this
> array is
> used by other applications also. Guess, this is reason, why sometimes
> checkpoint time jumps to 20 seconds, which is not acceptable. Below is
> current config file. With LRU_MIN_DIRTY and LRU_MAX_DIRTY set to 0 and
> 1 and all other parameters set as they are, checkpoints should happen
> often and be very short, as far as I understand. But with all this
> set, checkpoints happen at CKPTINTVL, every 3 minutes, so I think that
> AMOUNT of data being written is not what causes the long checkpoint.
> Am I right, assuming that this is not Informix related problem and we
> should configure disk array not tune Informix parameters?
>
[cutting]
> 12:55:00 device %busy avque r+w/s blks/s avwait avserv
> 12:55:03 c2t2d0 4.59 0.59 6 46 5.20 14.02
> c1t2d0 3.79 0.50 5 42 4.84 10.64
> c23t2d1 96.41 8.77 248 2191 80.09 34.97
> 12:55:08 c2t2d0 6.96 0.50 8 45 5.09 9.74
> c1t2d0 3.98 0.50 5 29 4.55 8.06
> c23t2d1 98.21 1.91 60 1705 38.82 92.98
> 12:55:13 c2t2d0 5.65 0.50 6 40 5.57 13.62
> c1t2d0 3.83 0.50 4 35 5.40 9.50
> c23t2d1 97.18 0.94 79 1782 38.33 77.97
> 12:55:18 c2t2d0 3.79 0.50 4 16 4.90 10.63
[cutting]
--
Paul Watson #
Oninit Ltd # Growing old is mandatory
Tel: +44 1436 672201 # Growing up is optional
Fax: +44 1436 678693 #
Mob: +44 7818 003457 #
www.oninit.com #