DB Tuning...
Posted in 2004
Topics: High Availability & Replication, Backup & Restore, Performance & Tuning, Storage & Space Management, Server Administration, Transactions, Locking & Isolation, Logging & Checkpoints, Networking & sqlhosts Configuration, Platform-Specific Issues
On Thu, 29 Jul 2004 13:23:38 -0400, Anthony Presley wrote: > With the light of query tuning, lately, I've decided to submit my server's > config for some review ... to see if someone would be willing to help me > tune it a bit. Tuning is pretty good. Here are your metrics: BR = (24306 / (32278143 + 622031)) * 100.00 = .0700 ! Excellent BTR = (((32278143 + 622031) / 100000) / 61.817) = 5.3221 ! On target RAU = (221553/(120432+12182+90586)) * 100.00 = 99.2600 ! Just a bit low I'd just suggest reducing RA_THRESHOLD from 24 to 16 or even 8 to get your RAU closer to 100%. > Without further ado -- here it is. > > It's a dual AMD Athlon XP 2400 (I believe) running Linux Software RAID w/ > Mirroring (IDE). We're moving to a RAID 5 (hardware) setup over the next AAAAAAAAAAHHHHHHHHHHHHH!!!!!!!!!!! NO RAID5! NO RAID5! NO RAID5! NO RAID5! NO RAID5! NO RAID5! NO RAID5! RAID5 and databases do not get along performance wise and they are NOT SAFE for your data. Use RAID10 instead! Search the CDI archives for my RAID5 RANT or find it on the BAARF web site: www.baarf.com along with several other papers on the subject. > few months. At which point, I'll probably leave the log's and tmp dbspace's > on the mirrored drives. The system has 2GB of RAM. We also run an instance > of Postgres and one of MySQL (web apps). And, also running on the box is > Tomcat / Apache w/ a web interface to get to the Informix DB. Overall, > though, the Informix tuning is the one I'm least familiar with .... and > probably the most important. Oh -- every path w/in the onconfig file is a > symlink, in case we need to move it ... sometime. > > This is 7.31.UD2, IDS. Art S. Kagel
With the light of query tuning, lately, I've decided to submit my
server's config for some review ... to see if someone would be willing
to help me tune it a bit.
Without further ado -- here it is.
It's a dual AMD Athlon XP 2400 (I believe) running Linux Software RAID
w/ Mirroring (IDE). We're moving to a RAID 5 (hardware) setup over
the next few months. At which point, I'll probably leave the log's
and tmp dbspace's on the mirrored drives. The system has 2GB of RAM.
We also run an instance of Postgres and one of MySQL (web apps). And,
also running on the box is Tomcat / Apache w/ a web interface to get
to the Informix DB. Overall, though, the Informix tuning is the one
I'm least familiar with .... and probably the most important. Oh --
every path w/in the onconfig file is a symlink, in case we need to
move it ... sometime.
This is 7.31.UD2, IDS.
Thanks for any advice / help.
-----------------------------------------------------------
onconfig:
# Root Dbspace Configuration
ROOTNAME rootdbs # Root dbspace name
ROOTPATH /db0/dbroot0 # Path for device containing root dbspace
ROOTOFFSET 0 # Offset of root dbspace into device
(Kbytes)
ROOTSIZE 1000000 # 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 dblog0 # Location (dbspace) of physical log
#PHYSFILE 99000 # Physical log file size (Kbytes)
PHYSFILE 990000 # Physical log file size (Kbytes)
# Logical Log Configuration
LOGFILES 10 # Number of logical log files
LOGSIZE 950000 # Logical log size (Kbytes)
# Diagnostics
MSGPATH /var/log/online.log # System message log file path
CONSOLE /dev/console # System consolemessage path
ALARMPROGRAM /opt/informix/etc/eventalarm # Alarm program path
SYSALARMPROGRAM /opt/informix/etc/evidence.sh # System Alarm program
path
TBLSPACE_STATS 0
# System Archive Tape Device
#TAPEDEV /dev/nulltape # Tape device path
TAPEDEV /home/informix/logs/archive # Tape device path
TAPEBLK 512 # Tape block size (Kbytes)
TAPESIZE 2000000 # Maximum amount of data to put on
tape (Kbytes)
# Log Archive Tape Device
LTAPEDEV /home/informix/logs/log # Log tape device path
LTAPEBLK 512 # Log tape block size (Kbytes)
LTAPESIZE 2000000 # Max amount of data to put on log
tape (Kbytes)
# Optical
STAGEBLOB # Informix Dynamic Server/Optical
staging area
# System Configuration
SERVERNUM 0 # Unique id corresponding to a DynamicServer instance
DBSERVERNAME london # Name of default database server
DBSERVERALIASES london_net # List of alternate dbservernames
DEADLOCK_TIMEOUT 60 # Max time to wait of lock indistributed env.
RESIDENT 1 # Forced residency flag (Yes = 1, No =
0)
NETTYPE ipcshm,1,690,CPU
NETTYPE soctcp,1,690,NET
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 0 # Process aging
AFF_SPROC 0 # Affinity start processor
AFF_NPROCS 0 # Affinity number of processors
# Shared Memory Parameters
LOCKS 300000 # Maximum number of locks
BUFFERS 100000 # Maximum number of shared buffers
NUMAIOVPS 20 # Number of IO vps
PHYSBUFF 48 # Physical log buffer size (Kbytes)
LOGBUFF 32 # Logical log buffer size (Kbytes)LOGSMAX 10 # Maximum number of logical log files
CLEANERS 75 # Number of buffer cleaner processes
SHMBASE 0x10000000L # Shared memory base address
SHMVIRTSIZE 16384 # initial virtual shared memorysegment size
SHMADD 16384 # Size of new shared memory segments
(Kbytes)
SHMTOTAL 0 # Total shared memory (Kbytes).
0=>unlimited
CKPTINTVL 300 # Check point interval (in sec)
LRUS 65 # Number of LRU queues
LRU_MAX_DIRTY 30 # LRU percent dirty begin cleaninglimit
LRU_MIN_DIRTY 20 # LRU percent dirty end cleaning limit#LRU_MAX_DIRTY 5 # 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 300 # Transaction timeout (in sec)
STACKSIZE 32 # Stack size (Kbytes)
# System Page Size
# BUFFSIZE - Dynamic Server no longer supports this configuration
parameter.
# To determine the page size used by Dynamic Server 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 /opt/informix/etc/dr.lostfound # DR lost+found filepath
# CDR Variables
CDR_LOGBUFFERS 2048 # size of log reading buffer pool (Kbytes)
CDR_EVALTHREADS 1,2 # evaluator threads (per-cpu-vp,additional)
CDR_DSLOCKWAIT 5 # DS lockwait timeout (seconds)
CDR_QUEUEMEM 4096 # Maximum amount of memory for any CDR queue
(Kbytes)
# Backup/Restore variables
BAR_ACT_LOG /tmp/bar_act.log
BAR_MAX_BACKUP 0
BAR_RETRY 1
BAR_NB_XPORT_COUNT 10
BAR_XFER_BUF_SIZE 31
# Informix Storage Manager variables
ISM_DATA_POOL ISMData # If the data pool name is changed, be
sure to
# update $INFORMIXDIR/bin/onbar.
Change to
# ism_catalog -create_bootstrap -pool
<new name>
ISM_LOG_POOL ISMLogs
# Read Ahead Variables
RA_PAGES 32 # Number of pages to
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