RE: Question about IDS scalabiltiy
Posted in 1999
Topics: Performance & Tuning, Storage & Space Management, SQL Development & Query Writing, Server Administration, Security, Permissions & Auditing, Transactions, Locking & Isolation, Logging & Checkpoints, Networking & sqlhosts Configuration
#***********************************************************************
***
#
# INFORMIX SOFTWARE, INC.
#
# Title: onconfig.prod
# Description: INFORMIX-OnLine Configuration Parameters
#
#***********************************************************************
***
# Root Dbspace Configuration
ROOTNAME rootdbs # Root dbspace nameROOTPATH /dev/prodi/prod-100 # Path for device containing root
dbspace
ROOTOFFSET 0 # Offset of root dbspace into device
(Kbytes)
ROOTSIZE 50000 # Size of root dbspace (Kbytes)
# Disk Mirroring Configuration Parameters
MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
# Physical Log Configuration
PHYSDBS physlog # Location (dbspace) of physical log
PHYSFILE 200000 # Physical log file size (Kbytes)
# Logical Log Configuration
LOGFILES 40 # Number of logical log files
LOGSIZE 1000 # Logical log size (Kbytes)
# Diagnostics
MSGPATH /opt/informix/7.3/logs/patron.log
# System message log file path
CONSOLE /opt/informix/7.3/logs/patron.con
# System console message path
ALARMPROGRAM /opt/informix/7.3/etc/log_full.sh # Alarm program path
# System Archive Tape Device
TAPEDEV /dev/null # Tape Device path
TAPEBLK 32 # Tape block size (Kbytes)
TAPESIZE 35000000 # Maximum amount of data to put on tape
(Kbytes)
# Log Archive Tape Device
LTAPEDEV /dev/null # Log tape device path
LTAPEBLK 32 # Log tape block size (Kbytes)
LTAPESIZE 35000000 # Max amount of data to put on log tape
(Kbytes)
# Optical
STAGEBLOB # INFORMIX-OnLine/Optical staging area
# System Configuration
SERVERNUM 1 # Unique id corresponding to a OnLineinstance
DBSERVERNAME patronx # Name of default database server
DBSERVERALIASES patronx_net # List of alternate dbservernames
DEADLOCK_TIMEOUT 300 # Max time to wait of lock indistributed env.
RESIDENT 1 # Forced residency flag (Yes = 1, No =
0)
MULTIPROCESSOR 1 # 0 for single-processor, 1 formulti-processor
NUMCPUVPS 9 # Number of user (cpu) vps
SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vpsto one
NOAGE 1 # Process aging
AFF_SPROC 1 # Affinity start processor
AFF_NPROCS 9 # Affinity number of processors
# Shared Memory Parameters
LOCKS 300000 # Maximum number of locks
BUFFERS 40000 # Maximum number of shared buffers
NUMAIOVPS 4 # Number of IO vps
PHYSBUFF 512 # Physical log buffer size (Kbytes)
LOGBUFF 32 # Logical log buffer size (Kbytes)LOGSMAX 50 # Maximum number of logical log files
CLEANERS 32 # Number of buffer cleaner processes
SHMBASE 0x10000000 # Shared memory base address
SHMVIRTSIZE 589824 # initial virtual shared memory segmentsize
SHMADD 65536 # Size of new shared memory segments
(Kbytes)
SHMTOTAL 839680 # Total shared memory (Kbytes).
0=>unlimited
CKPTINTVL 300 # Check point interval (in sec)
LRUS 32 # Number of LRU queues
LRU_MAX_DIRTY 3 # LRU percent dirty begin cleaning limit
LRU_MIN_DIRTY 1 # 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 4 # 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 /var/tmp
# DR lost+found file path
# Read Ahead Variables
RA_PAGES 24 # Number of pages to attempt to readahead
RA_THRESHOLD 22 # Number of pages left before next group
# DBSPACETEMP:
# OnLine equivalent of DBTEMP for SE. This is the list of dbspaces
# that the OnLine SQL Engine will use to create temp tables etc.
# If specified it must be a colon separated list of dbspaces that exist
# when the OnLine system is brought online. If not specified, or if
# all dbspaces specified are invalid, various ad hoc queries will create
# temporary files in /tmp instead.
DBSPACETEMP temp1,temp2,temp3,temp4,temp5,temp6,temp7
# Default temp dbspaces
# DUMP*:
# The following parameters control the type of diagnostics information
which
# is preserved when an unanticipated error condition (assertion failure)
occurs
# during OnLine operations.
# For DUMPSHMEM, DUMPGCORE and DUMPCORE 1 means Yes, 0 means No.
DUMPDIR /var/tmp # Preserve diagnostics in this directory
DUMPSHMEM 0 # Dump a copy of shared memory
DUMPGCORE 0 # Dump a core image using 'gcore'
DUMPCORE 0 # Dump a core image (Warning:this aborts
OnLine)
DUMPCNT 1 # Number of shared memory or gcore dumpsfor
# a single user's session
# ADT*
# The following parameters control the type and level of secure auditing
# present in the OnLine system. By default, ADTMODE is 0 and auditing
# is disabled
FILLFACTOR 90 # Fill factor for building indexes
# method for OnLine to use when determining current time
USEOSTIME 0 # 0: use internal time(fast), 1: get
time from OS(slow)
# Parallel Database Queries (pdq)
# OFF => 0, LOW => 1, HIGH => 100
# 0 => Nested loop joins will be preferred (where
# possible) over sortmerge joins and hash joins.
# 1 => If the transaction isolation mode is not
# "repeatable read", optimizer behaves as in (2)
# below. Otherwise it behaves as in (0) above.
# 2 => Use costs re
Carlos Bolden wrote:
[LOTS OF GOOD STUFF SNIPPED including ONCONFIG]
See Obnoxio's comments they are all right on the money. I would add
the following based only on guess work (I'd need the onstats I
mentioned in my last post to really diagnose):
TAPEDEV=/dev/null ????????? An asside but: Don't you like your job?
BUFFERS 40000 For 200 user processes? Make that 150,000->400,000
LRUS 32 With 200 user programs, and by your comment about not getting
anything done I assume these are all performing inserts and
updates, there will be great LRU contention with only 32 LRUs
on average there will be between 6 and 7 sessions waiting at
each LRU for a latch so it can get a lock on a free buffer to
dirty. Make this the maximum 128 (if you get spurious messages
at startup about Physical and/or Logical log size of zero make
it 127 there is an old annoying but harmless bug triggered at
LRUS 128 which should be fixed by 7.30UC8).
CKPTINTVL 300 For a heavy transaction system I'd make that 600.
Just make sure the PHYSFILE is large enough (200000 should be
OK).
RA_PAGES 24RA_THRESHOLD 22 Check the RA stats on the onstat -p report I suspect
that you are using only a VERY small percentage of all that
read ahead. You may be thrashing the disks.
That's it for now. Try these and come back or post the onstats I
mentioned earlier today.
Art S. Kagel
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