Long Checkpoints, balancing network traffic accross multiple Aliases
Posted in 2000
Topics: Performance & Tuning, Storage & Space Management, Server Administration, Security, Permissions & Auditing, Transactions, Locking & Isolation, Logging & Checkpoints, Networking & sqlhosts Configuration, Versions, Editions & End-of-Life
I have a few questions that I hope someone can answer.
Background Info:
IDS 7.31FC2
HP/UX 11.0 64 bit
6 CPUs, 5 given to Informix w/ affinity
KAIO On
OLTP/DSS Mix, configured for OLTP
Recently I changed 3 onconfig parameters
19:42:18 Onconfig parameter BUFFERS modified from 200000 to 238400.
19:42:18 Onconfig parameter NUMAIOVPS modified from 1 to 2.
19:42:18 Onconfig parameter SHMADD modified from 153600 to 76800.
Before this change the checkpoints were 0 to 1 seconds, now they have
jumped to 2 to 5 seconds (with a 25 second checkpoint in there just to
spite me). I have cleaners and LRU's maxed to 127 and LRU_MAX set to 1 and
LRU_MIN set to 0.
Could the addition of 38400 Buffers make this much of a change in
checkpoint time? Before Informix would have to write 2000 Buffers at a
checkpoint, now it has to write 2286 Buffers, I am having a hard time
believing that the additional 286 Buffer writes at checkpoint time are
causing a 2 to 3 second checkpoint increase.
onstat -p, onstat -m, and the onconfig params follow.
Also, I was wondering if it would be helpful to overall performance to
configure connections to connect via different ports through multiple
aliases.
Currently we have 7 machines that connect to our main server, they
currently connect to the main server via soctcp through port 1526 server
name n2bill1.
Would it be helpful to setup /etc/services to contain ports 1526, 1527,
1528, 1529, 1530, 1531, 1532 for soctcp connections to n2bill1 and have
those connections map to different DBSERVERALIASES in the sqlhosts file?
i.e.. 1526 -> n2bill1_1, 1527 -> n2bill1_2, 1528 -> 1529, etc.?
Thanks in advance for any help,
Andrew
onstat -p
Informix Dynamic Server Version 7.31.FC2 -- On-Line -- Up 16:03:44 --
729576 Kbytes
Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
9998797 15941374 278627430 96.41 566427 989045 1790101 68.36
isamtot open start read write rewrite delete commit
rollbk
253258572 428053 2501072 213369175 167719 145009 90428 128 0
gp_read gp_write gp_rewrt gp_del gp_alloc gp_free gp_curs
0 0 0 0 0 0 0
ovlock ovuserthread ovbuff usercpu syscpu numckpts flushes
0 0 739 4465.31 1238.77 5 10
bufwaits lokwaits lockreqs deadlks dltouts ckpwaits compress seqscans
1223950 334 19767729 0 0 121 49793 2880
ixda-RA idx-RA da-RA RA-pgsused lchwaits
7096142 5352 35373 7135187 465107
onstat -m
Message Log File: /usr/informix/online.log
09:13:24 Checkpoint Completed: duration was 2 seconds.
09:23:32 Checkpoint Completed: duration was 3 seconds.
09:33:42 Checkpoint Completed: duration was 4 seconds.
09:43:51 Checkpoint Completed: duration was 2 seconds.
09:54:00 Checkpoint Completed: duration was 2 seconds.
10:04:09 Checkpoint Completed: duration was 3 seconds.
10:14:19 Checkpoint Completed: duration was 4 seconds.
10:24:27 Checkpoint Completed: duration was 2 seconds.
10:34:35 Checkpoint Completed: duration was 2 seconds.
10:44:44 Checkpoint Completed: duration was 2 seconds.
10:54:53 Checkpoint Completed: duration was 3 seconds.
11:05:02 Checkpoint Completed: duration was 3 seconds.
11:13:55 listener-thread: err = -951: oserr = 0: errstr = Admin: Incorrectpassword or user Admin is
not known on the database server.
11:13:56 listener-thread: err = -951: oserr = 0: errstr = Admin: Incorrectpassword or user Admin is
not known on the database server.
11:15:10 Checkpoint Completed: duration was 2 seconds.
11:25:20 Checkpoint Completed: duration was 2 seconds.
11:35:28 Checkpoint Completed: duration was 2 seconds.
11:45:38 Checkpoint Completed: duration was 2 seconds.
Onconfig Params
ROOTNAME rootdbsROOTPATH /dev/informix_space/rootchunk
DBSERVERNAME n2bill1_shm
MIRRORPATH \\PHYSDBS bigphys
MSGPATH /usr/informix/online.log
CONSOLE /dev/console
TAPEDEV /dev/null
LTAPEDEV /dev/null
ROOTOFFSET 0
ROOTSIZE 100000MIRROR 0
MIRROROFFSET 0
PHYSFILE 159894
LOGFILES 32
LOGSIZE 1500
TAPEBLK 16
TAPESIZE 10240
LTAPEBLK 16
LTAPESIZE 10240
SERVERNUM 0
DEADLOCK_TIMEOUT 60
RESIDENT 1
LOCKS 1048576
BUFFERS 238400
ONDBSPACEDOWN 2LBU_PRESERVE 1
OPCACHEMAX 0
PHYSBUFF 32
LOGBUFF 32LOGSMAX 50
CLEANERS 127
SHMBASE 0xc000000000232000
CKPTINTVL 600
LRUS 127
LRU_MAX_DIRTY 1
LRU_MIN_DIRTY 0
SINGLE_CPU_VP 0
LTXHWM 50
LTXEHWM 60
TXTIMEOUT 300
NUMCPUVPS 5
DRAUTO 0
SHMVIRTSIZE 128000
USEOSTIME 0
NOAGE 1
AFF_SPROC 1
AFF_NPROCS 5
RA_PAGES 64
RA_THRESHOLD 42
NUMAIOVPS 2
NETTYPE ipcshm,,50,CPU
NETTYPE soctcp,,25,NET
DBSERVERALIASES n2bill1
MULTIPROCESSOR 1
FILLFACTOR 80
STACKSIZE 64DBSPACETEMP tempdbs1,tempdbs2,tempdbs3,tempdbs4
STAGEBLOB \\
DRNODE 1
DRNAME \\
DRINTERVAL 30
DRTIMEOUT 30DRLOSTFOUND /usr/informix/etc/dr.lostfound
OFF_RECVRY_THREADS 50
ON_RECVRY_THREADS 5
DUMPSHMEM 0
DUMPGCORE 0
DUMPCORE 0
DUMPCNT 1DUMPDIR /var/simplified/log/dump
DATASKIP off
DS_MAX_QUERIES 1024
DS_TOTAL_MEMORY 131072
DS_MAX_SCANS 100000
SHMADD 0x4b00000
SHMTOTAL 0x0
OPTCOMPIND 2
MAX_PDQPRIORITY 100
HETERO_COMMIT 0
BAR_ACT_LOG /tmp/bar_act.log
BAR_DEBUG_LOG /tmp/bar_dbug.log
BAR_MAX_BACKUP 0B
Andrew Ford wrote:
>
> I have a few questions that I hope someone can answer.
>
> Background Info:
>
> IDS 7.31FC2
> HP/UX 11.0 64 bit
> 6 CPUs, 5 given to Informix w/ affinity
> KAIO On
> OLTP/DSS Mix, configured for OLTP
>
> Recently I changed 3 onconfig parameters
> 19:42:18 Onconfig parameter BUFFERS modified from 200000 to 238400.
> 19:42:18 Onconfig parameter NUMAIOVPS modified from 1 to 2.
> 19:42:18 Onconfig parameter SHMADD modified from 153600 to 76800.>
> Before this change the checkpoints were 0 to 1 seconds, now they have
> jumped to 2 to 5 seconds (with a 25 second checkpoint in there just to
> spite me). I have cleaners and LRU's maxed to 127 and LRU_MAX set to 1 and
> LRU_MIN set to 0.
You have 7.31 so you can go for 128 without triggering that old
annoying 0 length Physical Log bug, FWIW.
> Could the addition of 38400 Buffers make this much of a change in
> checkpoint time? Before Informix would have to write 2000 Buffers at a
> checkpoint, now it has to write 2286 Buffers, I am having a hard time
> believing that the additional 286 Buffer writes at checkpoint time are
> causing a 2 to 3 second checkpoint increase.
Does seem odd.
> onstat -p, onstat -m, and the onconfig params follow.>
> Also, I was wondering if it would be helpful to overall performance to
> configure connections to connect via different ports through multiple
> aliases.
>
> Currently we have 7 machines that connect to our main server, they
> currently connect to the main server via soctcp through port 1526 server
> name n2bill1.
> Would it be helpful to setup /etc/services to contain ports 1526, 1527,
> 1528, 1529, 1530, 1531, 1532 for soctcp connections to n2bill1 and have
> those connections map to different DBSERVERALIASES in the sqlhosts file?
> i.e.. 1526 -> n2bill1_1, 1527 -> n2bill1_2, 1528 -> 1529, etc.?
Only if you have multiple interfaces on the machine and there seems to
be a network bottleneck.
> Thanks in advance for any help,
Let's see onstat -F and onstat -R (from shortly before a scheduled
checkpoint not just after), also onstat -g glo and onstat -g iov.
Art S. Kagel