The suggestions I have given offline to Vineet are :
After our whole day discussions :
Setting PDQPRIORITY at application environment level would have improved
the CPU usage but it seems its not feasible for BAAN
set config parameter CLEANER to 85 as we have 85 chunks
Increase BUFFER value to 60000
See if you can add 2 more tempdbspaces, this will do parallel sorting
Most important observation is that, all select queries are using optimizer
directive as {+ FIRST_ROWS, This option directs the optimizer to choose
the query plan that returns the first result record as soon as possible,
ignoring plans that would sort records or create a hash table. As per our
observations, this might be related to some BAAN setting which I am not
much exposed to. Hence requesting you to post your query to iiug to get
direct response from Informix+BAAN users.
Strongly recommend to move to 11.50 which is IDS latest version and you
can avail support facility from our support team directly all the time
NUMAIOVP is another good suggestion.
Regards,
Vaibhav S Dantale
___________________________________________________________
Challenge is source of strength
QA Manager, Informix Dynamic Server
Information Management
Address:
IBM India Software Labs,
Cell: +91-9503161335
Email: vdantale@in.ibm.com
My Blue page
"Art Kagel" <art.kagel@gmail.com>
Sent by: ids-bounces@iiug.org
08/06/2010 07:14 PM
Please respond to
ids@iiug.org
To
ids@iiug.org
cc
Subject
Re: optimum usage of resources [20763]
Two problems that I see:
CLEANERS 1
NUMAIOVPS 1
AIO VPs:
Since you are using filesystem files for chunks, AIO VPs are handling all
IO, so you need many more than one. Start with the number of chunks + 25%
as a starting point and adjust up or down using onstat -g iov to monitor
it
over time. If the io/wup shows 1.0 of higher for every AIO VP, then you
need more. If at least one AIO VP shows 0.9 or lower then you are probably
good. If more than one shows 0.0 io/wup then you can reduce the number of
AIO VPs by that number.
CLEANERS:
You have 32 LUR queues (LRUS 32) and I don't know how many chunks you
have,
but you should have CLEANERS set to the greater of LRUS or the number of
chunks, so at least 32.
As far as why the server is only utilizing 2 CPU cores and not all 8 cores
(ignore the hyperthreads, you can't count them as full CPU cores, the
reason
is probably that the CPUs are always waiting for IOs, so they can't take
advantage of any more CPU cycles. Fix the IOs as above and reevaluate in a
week or two. Let us know how it goes.
Art
Art S. Kagel
Advanced DataTools (www.advancedatatools.com)
IIUG Board of Directors (art@iiug.org)
Disclaimer: Please keep in mind that my own opinions are my own opinions
and
do not reflect on my employer, Advanced DataTools, the IIUG, nor any other
organization with which I am associated either explicitly, implicitly, or
by
inference. Neither do those opinions reflect those of other individuals
affiliated with any entity with which I am affiliated nor those of the
entities themselves.
On Fri, Aug 6, 2010 at 8:23 AM, VINEET AGARWAL
<vineetsaddress@yahoo.com>wrote:
> Hi,
>
> We are on IDS 9.4 TC9 on Windows 2003 EE OS.
>
> The server has two quadcore processors. In windows task manager it
actually
> shows 16 processors (that's because of 8 cores x 2 because of
> Hyperthreading).
>
> We have 16 GB of RAM.
>
> We are using Informix as database for our Baan IV C4 ERP s/w.
>
> The query is that the I never see more than 1 or 2 cpu getting used. The
> CPU
> utilization remains at not more than 25% max. Even the max RAM getting
used
> is
> 2 GB.
>
> How do I make the server use more resources i.e.all 16 processors and 16
GB
> ram to get max performance.
>
> I tried to set parameter "PDQPRIORITY 80" but it has no effect.
> When I set it as an Envoirnment variable Baan users were not able to
log.
> In
> informix log I found the following error "connection rejected - no calls
> allowed for sqlexec " hence had to remove the variable.
>
> (how do I attach onstat -a output to the message ?)
>
> the ONCONFIG IS AS FOLLOWS :
> ==========================================
>
#**************************************************************************
> #
> # Licensed Material - Property Of IBM
> #
> # "Restricted Materials of IBM"
> #
> # IBM Informix Dynamic Server
> # (c) Copyright IBM Corporation 1996, 2006 All rights reserved.
> #
> # Title: onconfig.std
> # Description: IBM Informix Dynamic Server Configuration Parameters
> #
>
#**************************************************************************
>
> # Root Dbspace Configuration
>
> ROOTNAME rootdbs # Root dbspace name
> ROOTPATH G:\IFMXDATA\ol_baanerp\rootdbs_dat.000 # Path for device
> containing
> root dbspace
> ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes)
> ROOTSIZE 51200 # Size of root dbspace (Kbytes)
>
> # Disk Mirroring Configuration Parameters
>
> MIRROR 1 # Mirroring flag (Yes = 1, No = 0)
> MIRRORPATH K:\IFMXDATA\ol_baanerp\rootdbs_mirr.000 # Path for device
> containing mirrored root
> MIRROROFFSET 0 # Offset into mirrored device (Kbytes)
>
> # Physical Log Configuration
>
> PHYSDBS baandb_plog # Location (dbspace) of physical log
> PHYSFILE 2047788 # Physical log file size (Kbytes)
>
> # Logical Log Configuration
>
> LOGFILES 349 # Number of logical log files
> LOGSIZE 5000 # Logical log size (Kbytes)
>
> # Security
> # DBCREATE_PERMISSION:
> # By default any user can create a database. Uncomment
DBCREATE_PERMISSON
> to
> # limit database creation to a specific user. Add a new
DBCREATE_PERMISSION
> # line for each permitted user.
>
> #DBCREATE_PERMISSION informix
>
> # DB_LIBRARY_PATH:
> # When loading a (C or C++) shared object (for a UDR or UDT), IDS checks
> that
> # the user-specified path starts with one of the directory prefixes
listed
> in
> # the comma-separated list of prefixes in DB_LIBRARY_PATH. The string
> # "$INFORMIXDIR/extend" must be included in DB_LIBRARY_PATH in order for
> # extensibility and IBM supplied blades to work correctly.
>
> # DB_LIBRARY_PATH $INFORMIXDIR/extend
>
> # Diagnostics
>
> MSGPATH f:\Informix\ol_baanerp.log # System message log file path
> CONSOLE f:\Informix\conol_baanerp.log # System console message path
>
> # To automatically backup logical logs, edit alarmprogram.bat and set
> # BACKUPLOGS=Y
> ALARMPROGRAM f:\Informix\etc\alarmprogram.bat # Alarm program path
> TBLSPACE_STATS 1 # Maintain tblspace statistics
>
> # System Diagnostic Script.
> # SYSALARMPROGRAM - Full path of the system diagnostic script (e.g.
> # c:\informix\etc\evidence.bat.) Set this parameter
> # if you want a different Diagnostic Script than
> # {INFORMIXDIR}\etc\evidence.bat, which is default.
>
> # System Archive Tape Device
>
> TAPEDEV \\.\TAPE0 # Tape device path
> #TAPEDEV nul # Tape device path
>
> TAPEBLK 16 # Tape block size (Kbytes)
> TAPESIZE 419430400 # Maximum amount of data to put on tape (Kbytes)
> # CHANGED 23-05-2006 TAPESIZE 10240 # Maximum amount of data to put on
tape
> (Kbytes)
>
> # Log Archive Tape Device
>
> LTAPEDEV NUL # 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 Dynamic Server/Optical staging area
>
> # System Configuration
>
> SERVERNUM 0 # Unique id corresponding to a server instance
> DBSERVERNAME ol_baanerp # Name of default Dynamic Server
> DBSERVERALIASES # List of alternate dbservernames
> NETTYPE onsoctcp,1,,NET # Override sqlhosts nettype parameters
> DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed env.
> RESIDENT 0 # Forced residency flag (Yes = 1, No = 0)
>
> MULTIPROCESSOR 1 # 0 for single-processor, 1 for multi-processor
>
> NUMCPUVPS 12 # Number of user (cpu) vps
>
> SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps to one
>
> # need to comment NUMCPUVPS, NOAGE, AFF_SPROC, AFF_NPROCS
>
> # VPCLASS cpu,num=12,aff=1-8,noage
>
> # CHANGED 30-09-2006
> # NOAGE 0 # Process aging
> # AFF_SPROC 0 # Affinity start processor
> # AFF_NPROCS 0 # Affinity number of processors
>
> NOAGE 1 # Process aging
> AFF_SPROC 1 # Affinity start processor
> AFF_NPROCS 8 # Affinity number of processors
>
> # Shared Memory Parameters
>
> #LOCKS 2000 # Maximum number of locks
> LOCKS 50000 # Maximum number of locks
>
> #BUFFERS 5000 # Maximum number of shared buffers
> BUFFERS 52428 # Maximum number of shared buffers
> # Need to increase it. Use onstat -p and see that % cached should be
near
> 90%
> # if it is less than that then increase BUFFERS
>
> NUMAIOVPS 1 # Number of IO vps
> PHYSBUFF 32 # Physical log buffer size (Kbytes)
>
> #LOGBUFF 32 # Logical log buffer size (Kbytes)
> LOGBUFF 64 # Logical log buffer size (Kbytes)
>
> CLEANERS 1 # Number of buffer cleaner processes
> SHMBASE 0xC000000L # Shared memory base address
>
> #SHMVIRTSIZE 8192 # initial virtual shared memory segment size
> #SHMVIRTSIZE 65536 # initial virtual shared memory segment size
> SHMVIRTSIZE 1024000 # initial virtual shared memory segment size
>
> #SHMADD 8192 # Size of new shared memory segments (Kbytes)
> SHMADD 16384 # Size of new shared memory segments (Kbytes)
>
> #EXTSHMADD 8192 # Size of new extension shared memory segments (Kbytes)
> EXTSHMADD 16384 # Size of new extension shared memory segments (Kbytes)
>
> SHMTOTAL 0 # Total shared memory (Kbytes). 0=>unlimited
> CKPTINTVL 300 # Check point interval (in sec)
>
> #LRUS 8 # Number of LRU queues
> LRUS 32 # Number of LRU queues
>
> #LRU_MAX_DIRTY 60 # LRU percent dirty begin cleaning limit
> LRU_MAX_DIRTY 10 # LRU percent dirty begin cleaning limit
>
> #LRU_MIN_DIRTY 50 # LRU percent dirty end cleaning limit
> LRU_MIN_DIRTY 5 # LRU percent dirty end cleaning limit
>
> #>>>>>>>>> TO BE ADDED LATER <<<<<<<<<<<<<<<
> #** NEWLY ADDED PARAMETERS AS RECOMMENDED BY BAAN
> # DD_HASHSIZE 71 # Number of hash buckets. Should be a prime number
> # DD_HASHMAX 10 # Maximum number of Tables in a hash bucket
> #** NEWLY ADDED PARAMETERS AS RECOMMENDED BY BAAN
>
> TXTIMEOUT 300 # Transaction timeout (in sec)
> STACKSIZE 64 # Stack size (Kbytes)
>
> # Dynamic Logging
> # DYNAMIC_LOGS:
> # 2 : server automatically add a new logical log when necessary. (ON)
> # 1 : notify DBA to add new logical logs when necessary. (ON)
> # 0 : cannot add logical log on the fly. (OFF)
> #
> # When dynamic logging is on, we can have higher values for
LTXHWM/LTXEHWM,
> # because the server can add new logical logs during long transaction
> rollback.
> # However, to limit the number of new logical logs being added,
> LTXHWM/LTXEHWM
> # can be set to smaller values.
> #
> # If dynamic logging is off, LTXHWM/LTXEHWM need to be set to smaller
> values
> # to avoid long transaction rollback hanging the server due to lack of
> logical
> # log space, i.e. 50/60 or lower.
> #
> # In case of system configured with CDR the difference between LTXHWM
and
> # LTXEHWM should be atleast 30% so that we could minimize log overrun
> issue.
>
> DYNAMIC_LOGS 2
> LTXHWM 70
> LTXEHWM 80
>
> # 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 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 \tmp # 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 memory for any CDR queue (Kbytes)
> CDR_NIFCOMPRESS 0 # Link level compression (-1 never, 0 none, 9 max)
> CDR_SERIAL 0 # Serial Column Sequence
> CDR_DBSPACE # dbspace for syscdr database
> CDR_QHDR_DBSPACE # CDR queue dbspace (default same as catalog)
> CDR_QDATA_SBSPACE # List of CDR queue smart blob spaces
>
> # CDR_MAX_DYNAMIC_LOGS
> # -1 => unlimited
> # 0 => disable dynamic log addition
> # >0 => limit the no. of dynamic log additions with the specified value.
> # Max dynamic log requests that CDR can make within one server session.
>
> CDR_MAX_DYNAMIC_LOGS 0 # Dynamic log addition disabled by default
>
> # Backup/Restore variables
> BAR_ACT_LOG f:\Informix\bar_ol_baanerp.log #Path of log file for
onbar.exe
> BAR_DEBUG_LOG f:\Informix\bar_ol_baanerp.log #Path of the debug log for
> onbar.exe
> BAR_MAX_BACKUP 0
> BAR_RETRY 1
> BAR_NB_XPORT_COUNT 10
> BAR_XFER_BUF_SIZE 15
> BAR_PROGRESS_FREQ 0
> BAR_BSALIB_PATH f:\ISM\2.20\bin\libbsa.dll # Location of ISM XBSA DLL
>
> RESTARTABLE_RESTORE ON #To support restartable restore..values on/off
>
> # Informix Storage Manager variables
> ISM_DATA_POOL ISMData
> ISM_LOG_POOL ISMLogs
>
> # Read Ahead Variables
> RA_PAGES # Number of pages to attempt to read ahead
> RA_THRESHOLD # Number of pages left before next group
>
> # DBSPACETEMP:
> # Dynamic Server equivalent of DBTEMP for SE. This is the list of
dbspaces
> # that the Dynamic Server SQL Engine will use to create temp tables etc.
> # If specified it must be a colon separated list of dbspaces that exist
> # when the Dynamic Server 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 baandb_tmp # 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 Dynamic Server operations.
> # For DUMPSHMEM, DUMPGCORE and DUMPCORE 1 means Yes, 0 means No.
>
> DUMPDIR f:\Informix\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 Dynamic
> Server)
> DUMPCNT 1 # Number of shared memory or gcore dumps for
>
> # a single user's session
>
> FILLFACTOR 90 # Fill factor for building indexes
>
> # method for Dynamic Server 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 100 # Maximum allowed pdqpriority
>
> #PDQPRIORITY 80
>
> #DS_MAX_QUERIES # Maximum number of decision support queries
> DS_MAX_QUERIES 32 # Maximum number of decision support queries
>
> #DS_TOTAL_MEMORY # Decision support memory (Kbytes)
> DS_TOTAL_MEMORY 16384 # Decision support memory (Kbytes)
>
> DS_MAX_SCANS 1048576 # Maximum number of decision support scans
> DATASKIP # 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 2 # 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
> 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 sbspace # Default sbspace
>
> # 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 sbspace # Default System sbspace
>
> # Server. This is used primarily for Informix Server
>
> # system statistics collection.
>
> BLOCKTIMEOUT 3600 # Default timeout for system block
>
> SYSALARMPROGRAM f:\Informix\etc\evidence.bat # 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.
> #
>
> #VPCLASS jvp,num=1 # Number of JVPs to start with
>
> JVPJAVAHOME f:\Informix\extend\krakatoa\jre # JDK installation root
> directory
> JVPHOME f:\Informix\extend\krakatoa # Krakatoa installation directory
>
> JVPLOGFILE f:\Informix\extend\krakatoa\ol_baanerp_jvp.log # VP log file
> JVPPROPFILE f:\Informix\extend\krakatoa\.jvpprops_ol_baanerp # JVP
property
> file
>
> JDKVERSION 1.3 # JDK version supported by this server
>
> # The path to the JRE libraries relative to JVPJAVAHOME
> JVPJAVALIB \bin\
>
> JVPJAVAVM hpi;hotspot;verify;java;net;zip;jpeg
>
> # Classpath to use upon Java VM start-up (use _g version for debugging)
> JVPCLASSPATH
>
>
f:\Informix\extend\krakatoa\krakatoa.jar;f:\Informix\extend\krakatoa\jdbc.jar
>
> IFX_FOLDVIEW 0 # fold multiple tables or union all view with ansi joins
> ==================================
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--e0cb4e887a6f3e387d048d27de6f
*******************************************************************************
Forum Note: Use "Reply" to post a response in the discussion forum.