Could someone give me some direction?
Posted in 1999
Topics: High Availability & Replication, Storage & Space Management, Server Administration, Transactions, Locking & Isolation, Logging & Checkpoints, Networking & sqlhosts Configuration, Platform-Specific Issues
I have an IBM F50 with 512Mb, 12Gb database on Raid 5. It is version
7.30.UC7-1 on AIX 4.2.1. I am getting a lot of bufwaits. I have been
moving the LRU's up (like Art suggests). I am currently at 20%
bufwaits, and it has been that way regardless of the number of LRU's.
I started with 8 and have tried 25, 35, 55 ,65, and 75 with little or
no difference. I know that the stats show it has only been up 2 days,
but even as time goes on (week or two) it doesn't get any better.
Virtual memory on the system looks good - mostly used with no extra
segments. There are about 100 sessions in the system during the day.
It is an OLTP system (7am - 5pm - with some nightly cron jobs), and
checkpoints are <10 seconds - mostly 5-7 seconds. Of course, all
suggestions are welcome.
TIA
Chris
Here is the info:
Informix Dynamic Server Version 7.30.UC7 -- On-Line -- Up 2 days
23:41:43 -- 165840 Kbytes
Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
19770060 6487568 815370961 97.58 825159 1951377 14254180 94.21
isamtot open start read write rewrite delete commit
rollbk
498409661 4997177 29808549 380436203 10570018 370240 155382
234777 310
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 0 52882.02 4328.88 594 1898
bufwaits lokwaits lockreqs deadlks dltouts ckpwaits compress
seqscans
2816365 54 606837042 0 0 2212 24546 331939
ixda-RA idx-RA da-RA RA-pgsused lchwaits
4695176 60751 6148850 10824249 60306
Informix Dynamic Server Version 7.30.UC7 -- On-Line -- Up 2 days
23:41:49 -- 165840 Kbytes
Configuration File: /usr/informix/etc/onconfig.rds
#**************************************************************************
#
# INFORMIX SOFTWARE, INC.
#
# Title: onconfig.std
# Description: INFORMIX-OnLine Configuration Parameters
#
#**************************************************************************
# Root Dbspace Configuration
ROOTNAME rootdbs # Root dbspace nameROOTPATH /dev/infmx/rootdbs # Path for device containing root
dbspace
ROOTOFFSET 0 # Offset of root dbspace into device
(Kbytes)
ROOTSIZE 140000 # 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 physdbs # Location (dbspace) of physical log
PHYSFILE 100000 # Physical log file size (Kbytes)
# Logical Log Configuration
LOGFILES 40 # Number of logical log files
LOGSIZE 4000 # Logical log size (Kbytes)
# Diagnostics
MSGPATH /usr/informix/online.log # System message log file
path
CONSOLE /dev/console # System console message path
ALARMPROGRAM /usr/informix/etc/no_log.sh # Alarm program path
# System Archive Tape Device
TAPEDEV /dev/rmt0 # Tape device path
TAPEBLK 1024 # Tape block size (Kbytes)
TAPESIZE 12288000 # Maximum amount of data to put on
tape (Kbytes)#TAPESIZE 3999500 # 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)
# Optical
STAGEBLOB # INFORMIX-OnLine/Optical staging area
# System Configuration
SERVERNUM 2 # Unique id corresponding to a OnLineinstance
DBSERVERNAME rds_shm # Name of default database server
DBSERVERALIASES rds_tcp # List of alternate dbservernames
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 2 # 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 80000 # Maximum number of locks
BUFFERS 30000 # Maximum number of shared buffers
NUMAIOVPS 1 # Number of IO vps
PHYSBUFF 120 # Physical log buffer size (Kbytes)
LOGBUFF 32 # Logical log buffer size (Kbytes)LOGSMAX 40 # Maximum number of logical log files
CLEANERS 11 # Number of buffer cleaner processes
SHMBASE 0x30000000 # Shared memory base address
SHMVIRTSIZE 38000 # initial virtual shared memorysegment size
SHMADD 8192 # Size of new shared memory segments
(Kbytes)
SHMTOTAL 0 # Total shared memory (Kbytes).
0=>unlimited
CKPTINTVL 270 # Check point interval (in sec)
LRUS 55 # Number of LRU queues
LRU_MAX_DIRTY 10 # LRU percent dirty begin cleaninglimit
LRU_MIN_DIRTY 5 # 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 1 # Default number of online workerthreads
# 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 /usr/informix/etc/dr.lostfound # DR lost+found filepath
# CDR Variables
CDR_LOGBUFFERS 2048 # size of log reading buffer pool
(Kbytes)
CDR_EVALTHR
See comments below . . .
Chris Burton wrote:
>
> I have an IBM F50 with 512Mb, 12Gb database on Raid 5. It is version
> 7.30.UC7-1 on AIX 4.2.1. I am getting a lot of bufwaits. I have been
> moving the LRU's up (like Art suggests). I am currently at 20%
> bufwaits, and it has been that way regardless of the number of LRU's.
> I started with 8 and have tried 25, 35, 55 ,65, and 75 with little or
> no difference. I know that the stats show it has only been up 2 days,
> but even as time goes on (week or two) it doesn't get any better.
> Virtual memory on the system looks good - mostly used with no extra
> segments. There are about 100 sessions in the system during the day.
> It is an OLTP system (7am - 5pm - with some nightly cron jobs), and
> checkpoints are <10 seconds - mostly 5-7 seconds. Of course, all
> suggestions are welcome.
>
I'm doing some testing now for general system performance. It was
induced by a large number of bufwaits after running many report jobs
(4gl). I've found that if BUFFERS isn't set high enough that extra LRUs
may not help much. I dropped my (test) bufwaits from 100% to 20% just
by increasing BUFFERS. See below for additional stuff.
...snipped...
> BUFFERS 30000 # Maximum number of shared buffers
BUFFERS could be bigger . . . about 50000
> NUMAIOVPS 1 # Number of IO vpsRunning KAIO???
> LRU_MAX_DIRTY 10 # LRU percent dirty begin cleaning> limit
> LRU_MIN_DIRTY 5 # LRU percent dirty end cleaning limit
Maybe reset to 4 / 2.
> RA_PAGES 8 # Number of pages to attempt to read> ahead
> RA_THRESHOLD 4 # Number of pages left before next> group
Depending on the speed of the disks, maybe increase these numbers. But
I'm not sure about RAID5 . . .
Just a few things to think about . ..
John Carlson
Informix DBA
WHSmith USA
Related threads
- onbar -c -F in Windows Informix instance
- Anyone... SQLCODE=-668, ISAM error=-1
- Not using the 100% logical log page size alloacted to informix