|
IDS Forum
Re: Poor performance on replacement server
Posted By: Ravi T Date: Tuesday, 13 December 2005, at 1:30 p.m.
In Response To: Poor performance on replacement server (Simon Coyne)
This looks more of an OS problem to me. However, here are some Informix corrections. 1. Increase NUMCPUVPS to 3 (you have it at 2 now). If the performance becomes better and you still wants more performance then dynamically allocate 1-2 extra cpuvps using onmode -p and monitor the performance 2. Modify MULTIPROCESSOR to 1 2. If your OS is Sun Solaris then make sure you are using KAIO. 3. Also, monitor your online.log during the slow down to see any memory leaks 4. Your NETTYPE seems to be ok, but if the performance is still slow try giving it variant combinations 5. Run the following commands and see if you see anything out of ordinary onstat -g seg onstat -g ioq onstat -g rea onstat -g lmx onstat -g iof onstat -g glo onstat -g ntu etc., etc., etc. 6. Also, when the engine is at its knees run onstat - see if the engine mode changes for some reason. 7. I assume you are running full duplexed not half duplexed (talk to your sysadmin and he/she will know) Hope these helps. Ravi.
Simon Coyne <simon.coyne@dla.com> wrote: Dear Informix users
The firm I work for have recently purchased a 4 processor ES45 Alpha server to run our practice management (sales ledger) system. This is replacing a 2 processor DS25 Alpha server (which struggles at period end). Outline specification is
4x1.2Ghz Alpha processors 8Gb RAM 5304 4 Channel Ultra SCSI controller 2xMA300(I think) disk cages populated with 36Gb disks and configured as RAID 1+0 for both OS and Informix raw chunks. Tru 64 5.1B Informix 9.3.FC3
The instance is about 80Gb total.
Unfortunately, we are experiencing crippling performance problems. When we get to about 55 green screen users on the system, performance within Informix becomes terrible. The 3 CPU VPs go to 100% and disk I/O drops to almost 0 across every one of the Informix disks. On occassion, when CPU utilisation dips below ~85%, disk I/O goes back to normal levels and performance is great. At all times, the disk performance for O/S based operations is more than acceptable. Informix performance is almost binary; it's either working or stopped. There doesn't seem to be an inbetween position where performance starts degrading.
Has anyone seen anything like this at all or have any helpful suggestions? (Update statistics runs daily.)
Thanks in advance
Simon Coyne Infrastructure Specialist DLA Piper Rudnick Gray Cary LLP
ONconfig follows
#************************************************************************** # # INFORMIX SOFTWARE, INC. # # Title: onconfig.std # Description: Informix Dynamic Server 2000 Configuration Parameters # #**************************************************************************
# Root Dbspace Configuration
ROOTNAME rootdbs # Root dbspace name ROOTPATH /dev/rootdbs # Path for device containing root dbspace ROOTOFFSET 500 # Offset of root dbspace into device (Kbytes) ROOTSIZE 2000000 # Size of root dbspace (Kbytes)
# Disk Mirroring Configuration Parameters
MIRROR 0 # Mirroring flag (Yes = 1, No = 0) MIRRORPATH # Path for device containing mirrored root MIRROROFFSET 0 # Offset into mirrored device (Kbytes)
# Physical Log Configuration
PHYSDBS physdbs # Location (dbspace) of physical log PHYSFILE 1000000 # Physical log file size (Kbytes)
# Logical Log Configuration
LOGFILES 1034 # Number of logical log files LOGSIZE 1500 # Logical log size (Kbytes)
# Diagnostics
MSGPATH /usr/informix/online.log # System message log file path CONSOLE /usr/informix/console.log # System console message path ALARMPROGRAM /usr/informix/etc/log_full.sh # Alarm program path TBLSPACE_STATS 1 # Maintain tblspace statistics
# System Archive Tape Device
TAPEDEV /devices/tape/tape17c # Tape device path #TAPEDEV /devices/tape/tape16c # FS Backup device #TAPEDEV /dev/null # Black Hole #TAPEDEV /nfsdump/aristadbbackup.img TAPEBLK 1024 # Tape block size (Kbytes) TAPESIZE 85000000 # Maximum amount of data to put on tape (Kbytes)
# Log Archive Tape Device
LTAPEDEV /devices/tape/tape16 LTAPEBLK 1024 # Log tape block size (Kbytes) LTAPESIZE 35000000 # Max amount of data to put on log tape (Kbytes)
# Optical
STAGEBLOB # Informix Dynamic Server 2000 staging area
# System Configuration
SERVERNUM 0 # Unique id corresponding to a OnLine instance DBSERVERNAME arista # Name of default database server DBSERVERALIASES arista_tcp # List of alternate dbservernames DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed env. RESIDENT 0 # Forced residency flag (Yes = 1, No = 0)
MULTIPROCESSOR 0 # 0 for single-processor, 1 for multi-processor NUMCPUVPS 2 # Number of user (cpu) vps SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps to one
NOAGE 0 # Process aging # NRW changed proc affinity to second cpu to help system performance AFF_SPROC 0 # Affinity start processor AFF_NPROCS 0 # Affinity number of processors
# Shared Memory Parameters
LOCKS 1000000 # Maximum number of locks #[was] BUFFERS 300000 # Maximum number of shared buffers #[was] BUFFERS 400000 # Maximum number of shared buffers BUFFERS 500000 # Maximum number of shared buffers NUMAIOVPS 16 # Number of IO vps #[was] PHYSBUFF 655 # Physical log buffer size (Kbytes) PHYSBUFF 864 # Physical log buffer size (Kbytes) #[was] LOGBUFF 32 # Logical log buffer size (Kbytes) LOGBUFF 38 # Logical log buffer size (Kbytes) LOGSMAX 2048 # Maximum number of logical log files CLEANERS 16 # Number of buffer cleaner processes SHMBASE 0x200000000 # Shared memory base address #[was] SHMVIRTSIZE 155648 # initial virtual shared memory segment size #[was] SHMVIRTSIZE 188416 # initial virtual shared memory segment size SHMVIRTSIZE 753644 # initial virtual shared memory segment size #[was] SHMADD 16000 # Size of new shared memory segments (Kbytes) #[was] SHMADD 18841 # Size of new shared memory segments (Kbytes) SHMADD 75366 # Size of new shared memory segments (Kbytes) SHMTOTAL 0 # Total shared memory (Kbytes). 0=>unlimited CKPTINTVL 300 # Check point interval (in sec) LRUS 128 # Number of LRU queues LRU_MAX_DIRTY 3 # LRU percent dirty begin cleaning limit # [was] LRU_MAX_DIRTY 10 # LRU percent dirty begin cleaning limit # [was] LRU_MIN_DIRTY 5 # LRU percent dirty end cleaning limit LRU_MIN_DIRTY 1 # LRU percent dirty end cleaning limit LTXHWM 50 # Long transaction high water mark percentage 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 worker threads ON_RECVRY_THREADS 1 # Default number of online worker threads
# Data Replication Variables 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 file path
# CDR Variables 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) CDR_LOGDELTA 30 # % of log space allowed in queue memory CDR_NUMCONNECT 16 # Expected connections per server CDR_NIFRETRY 300 # Connection retry (seconds) CDR_NIFCOMPRESS 0 # Link level compression (-1 never, 0 none, 9 max)
# Backup/Restore variables BAR_ACT_LOG /usr/informix/bar_act.log # ON-Bar Log file - not in /tmp please BAR_DEBUG_LOG /usr/informix/bar_dbug.log # ON-Bar Debug Log - not in /tmp please BAR_MAX_BACKUP 0 BAR_RETRY 1 BAR_NB_XPORT_COUNT 10 BAR_XFER_BUF_SIZE 31 RESTARTABLE_RESTORE off BAR_PROGRESS_FREQ 0
# Informix Storage Manager variables ISM_DATA_POOL ISMData ISM_LOG_POOL ISMLogs
# Read Ahead Variables RA_PAGES 32 # Number of pages to attempt to read ahead RA_THRESHOLD 28 # 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 tempdbs,tempdbs01 # 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 /u/tmp # Preserve diagnostics in this directory DUMPSHMEM 1 # 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 dumps for # a single user's session
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) MAX_PDQPRIORITY 35 # Maximum allowed pdqpriority DS_MAX_QUERIES 512 # Maximum number of decision support queries DS_TOTAL_MEMORY 100000 # Decision support memory (Kbytes) DS_MAX_SCANS 1048576 # Maximum number of decision support scans DATASKIP off # List of dbspaces to skip
# OPTCOMPIND # 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 regardless of the transaction isolation # mode. Nested loop joins are not necessarily # preferred. Optimizer bases its decision purely # on costs. OPTCOMPIND 0 # To hint the optimizer
DIRECTIVES 1 # Optimizer DIRECTIVES ON (1/Default) or OFF (0) ONDBSPACEDOWN 2 # Dbspace down option: 0 = CONTINUE, 1 = ABORT, 2 = WAIT LBU_PRESERVE 0 # Preserve last log for log backup OPCACHEMAX 0 # Maximum optical cache size (Kbytes)
# HETERO_COMMIT (Gateway participation in distributed transactions) # 1 => Heterogeneous Commit is enabled # 0 (or any other value) => Heterogeneous Commit is disabled HETERO_COMMIT 0
SBSPACENAME # Default smartblob space name - this is where blobs # go if no sbspace is specified when the smartblob is # created. It is also used by some datablades as # the location to put their smartblobs. SYSSBSPACENAME # Default smartblob space for use by the Informix # Server. This is used primarily for Informix Server # system statistics collection.
BLOCKTIMEOUT 3600 # Default timeout for system block SYSALARMPROGRAM /usr/informix/etc/evidence.sh # System Alarm program path
# Optimization goal: -1 = ALL_ROWS(Default), 0 = FIRST_ROWS OPT_GOAL -1
ALLOW_NEWLINE 0 # embedded newlines(Yes = 1, No = 0 or anything but 1)
# # The following are default settings for enabling Java in the database. # Replace all occurrences of /usr/informix with the value of $INFORMIXDIR.
#VPCLASS jvp,num=1 # Number of JVPs to start with
JVPJAVAHOME /usr/informix/extend/krakatoa/jre/ # JRE installation root directory JVPHOME /usr/informix/extend/krakatoa # Krakatoa installation directory
JVPPROPFILE /usr/informix/extend/krakatoa/.jvpprops # JVP property file JVPLOGFILE /usr/informix/jvp.log # JVP log file.
JDKVERSION 1.2 # JDK version supported by this server JVMTHREAD native # Java VM thread type (green or native)
# The path to the JRE libraries relative to JVPJAVAHOME JVPJAVALIB /lib/sparc/
# The JRE libraries to use for the Java VM
JVPJAVAVM hpi:jvm:java:net:math:zip:jpeg
# Classpath to use upon Java VM start-up (use _g version for debugging)
# JVPCLASSPATH /usr/informix/extend/krakatoa/krakatoa.jar:/usr/informix/extend/krakatoa/jdbc.jar JVPCLASSPATH /usr/informix/extend/krakatoa/krakatoa_g.jar:/usr/informix/extend/krakatoa/jdbc_g.jar
# [was] NETTYPE ipcshm,16,25,CPU # Configure poll thread(s) for nettype NETTYPE ipcshm,4,100,CPU # Configure poll thread(s) for nettype NETTYPE soctcp,4,100,NET # Configure poll thread(s) for nettype # [was] NETTYPE soctcp,8,50,NET # Configure poll thread(s) for nettype
--------------------------------- Yahoo! Shopping Find Great Deals on Holiday Gifts at Yahoo! Shopping
Messages In This Thread
- Poor performance on replacement server
Simon Coyne -- Tuesday, 13 December 2005, at 11:03 a.m.
- Re: Poor performance on replacement server
John Bejarano -- Tuesday, 13 December 2005, at 12:03 p.m.
- Re: Poor performance on replacement server
Ravi T -- Tuesday, 13 December 2005, at 1:30 p.m.
- RE: Poor performance on replacement server
Rafael Padilla V -- Tuesday, 13 December 2005, at 2:01 p.m.
- RE: Poor performance on replacement server
Art S. Kagel -- Tuesday, 13 December 2005, at 2:56 p.m.
- RE: Poor performance on replacement server
simon@coynes.eclipse.co.uk -- Wednesday, 14 December 2005, at 4:59 a.m.
IDS Forum is maintained by Administrator with WebBBS 5.12.
|
|