Performance Tuning Guide > Tuning Operating Systems for Performance > Tuning Siebel Business Applications for AIX >

Tuning the Siebel Server for AIX


AIX provides several environment variables that can be tuned to optimize Siebel Server performance. These environment variables and their values are used as start parameters when the Siebel Server is started. Table 5 and Table 6 describe each of these environment variables and their recommended settings.

Table 5. Environment Variables Used for Optimization in $SIEBEL_ROOT/siebenv
Environment Variable
Value
Description

AIXTHREAD_SCOPE

S

Controls contention scope. S signifies system-based contention scope (1:1).

AIXTHREAD_MNRATIO

1:1

Controls the M:N ratio of number of kernel threads that should be employed to handle runnable pthreads.

AIXTHREAD_MUTEX_DEBUG

OFF

Maintains a list of active mutexes for use by the debugger.

AIXTHREAD_RWLOCK_DEBUG

OFF

Maintains a list of read-write locks for use by the debugger.

AIXTHREAD_COND_DEBUG

OFF

Maintains a list of condition variables for use by the debugger.

Table 6. Environment Variables Used for Optimization in $SIEBEL_ROOT/bin/siebmtshw
Environment Variable
Value
Description

SPINLOOPTIME

1000

Controls the number of times to retry a busy lock before yielding to another processor.

YIELDLOOPTIME

4

Controls the number of times to yield the processor before blocking on a busy lock (only for libpthreads). Set this variable, at the minimum, to the number of CPUs.

MALLOCTYPE

buckets

Malloc buckets provide an optional buckets-based extension of the default allocator. This feature improves malloc performance for applications that issue large numbers of small allocation requests.

When malloc buckets are enabled, allocation requests that fall within a predefined range of block sizes are processed by malloc buckets. All other requests are processed in the usual manner by the default allocator.

MALLOCMULTIHEAP

heaps:n

Controls the number of heaps within the process private segment. n should be equal to the number of processors on the server.

LDR_CNTRL

IGNOREUNLOAD@LOADPUBLIC@PREREAD_SHLIB@MAXDATA=0x60000000

The LOADPUBLIC option directs the system loader to load all modules requested by an application into the global shared library segment. Set LDR_CNTRL in the environment of the user, or, preferably, in the shell script that launches the executable needing the extra memory.

The MAXDATA value reserves six 256-MB segments for all executables launched from this environment, and overrides the default executable setting. The default depends on the executable. With the default value, a Siebel component can support a maximum value of 5000 for the MaxTasks parameter. With this value, MaxTasks can be set as high as 9000.

Depending on the environment, you may reserve up to a maximum of seven segments. If it is not possible to use that many segments, the Siebel Server will terminate very early.

Performance Tuning Guide