13Tuning Operating Systems for Performance
Tuning Operating Systems for Performance
This chapter describes tuning steps designed to improve the performance and scalability of your Siebel Enterprise Server or Siebel Application Interface installation. It contains the following topics:
Tuning Microsoft Windows for Enhanced Siebel Server Performance
Tuning the Siebel Server for All UNIX and Linux Operating Systems
Tuning the Siebel Application Interface Computer for All Applicable UNIX and Linux Operating Systems
Tuning the Siebel Application Interface for All UNIX and Linux Operating Systems
Before doing any of the procedures in this chapter, you must have completed the minimum necessary steps described in the chapters about installation and configuration tasks for the Siebel Gateway, Siebel Enterprise, Siebel Server and Siebel Application Interface, as described in the Siebel Installation Guide for the operating system you are using. See also Siebel System Administration Guide and Siebel System Monitoring and Diagnostics Guide.
Tuning Microsoft Windows for Enhanced Siebel Server Performance
This topic describes how you can configure settings for your Microsoft Windows operating system to optimize the performance of Siebel CRM.
Maximizing Data Throughput
For a server computer on which you install Siebel CRM software, changing the data throughput setting from Maximize data throughput for file sharing (default) to Maximize data throughput for network applications can result in the following benefits:
Better symmetrical multi-processing (SMP) scalability
Improved networking performance
Allocation of more physical memory for your Siebel applications
For more information about these settings, see Microsoft's documentation.
Turning on the 4GT RAM Tuning Feature
You can expand the per-process address limit from 2 GB to 3 GB. This setting reduces the amount of physical RAM available to the operating system from 2 GB to 1 GB. The difference (1 GB) is allocated to your applications. This feature is referred to as 4GT RAM tuning. For information about how to configure this setting, see Microsoft's documentation.
Tuning the Siebel Server for All UNIX and Linux Operating Systems
For all Siebel Server computers running on supported UNIX or Linux operating systems, setting the environment variables described in this topic can help you to manage your server resources appropriately and stay within appropriate CPU-usage limits.
Environment Variable for Siebel Assert Creation
For Siebel Server computers or Siebel Application Interface computers, the environment variable SIEBEL_ASSERT_MODE
determines whether assert files are created. With the default setting of 0
, the creation of assert files is disabled, which conserves disk space and improves performance.
Set this variable to a nonzero value only if you are performing system diagnostics, and only in consultation with Oracle Global Customer Support. For more information about this variable, see Siebel System Monitoring and Diagnostics Guide.
Environment Variable for Operating System Resource Limits
Set the environment variable SIEBEL_OSD_MAXLIMITS
using one of the following methods (define the variable in the applicable profile for the Siebel Server):
C Shell:
setenv SIEBEL_OSD_MAXLIMITS 1
Korn Shell or Bourne Shell:
SIEBEL_OSD_MAXLIMITS=1;export SIEBEL_OSD_MAXLIMITS
Setting this variable to 1
specifies that operating system maximum values for resources will apply. Such resources might include coredumpsize, cputime, filesize, descriptors, maxmemory, and others.
Environment Variables for Operating System Latches
Depending on the total number of tasks on the Siebel Server, you might need to set the environment variables described here in order to manage these loads. SIEBEL_OSD_NLATCH
controls named latches and SIEBEL_OSD_LATCH
controls unnamed latches. Latches, which are similar to mutexes (mutual exclusion objects), are used for communication between processes.
If SIEBEL_OSD_NLATCH
and SIEBEL_OSD_LATCH
are not defined, the values are 5000 and 1000, respectively. If these values are sufficient for the total number of tasks on the Siebel Server, then you do not need to set these variables. Do not set these variables to values lower than their default values.
stop_server
command, then run the
cleansync
utility.
Set SIEBEL_OSD_NLATCH
and SIEBEL_OSD_LATCH
on the Siebel Server computer based on the following formulas (define the variables in the applicable profile for the Siebel Server):
SIEBEL_OSD_NLATCH
= (7 times (cumulativeMaxTasks
for all components)) plus 1000SIEBEL_OSD_LATCH
= 1.2 times (cumulativeMaxTasks
for all components)
Assume, for example, that you have enabled two multithreaded server components on the same Siebel Server: SCCObjMgr_enu and WfProcMgr. For SCCObjMgr_enu, MaxTasks
= 700 and, for WfProcMgr, MaxTasks
= 150. In this example, the parameter values must be set as follows:
SIEBEL_OSD_NLATCH
= 6950 = 7 times (700 plus 150) plus 1000SIEBEL_OSD_LATCH
= 1020 = 1.2 times (700 plus 150)
SBL-OSD-00217: Error exceeded maximum number of latches
can sometimes be generated even when the variables are set according to the recommended formulas.
Tuning the Siebel Application Interface Computer for All Applicable UNIX and Linux Operating Systems
This topic describes how to configure the thread stack size for a Siebel thread on the Siebel Application Interface computer.
The default thread stack size is 512 KB, or 524288 bytes, for the Siebel threads in all UNIX and Linux operating systems supported for the computer on which you install the Siebel Application Interface.
In many cases, the default thread stack size for Siebel thread might be larger than necessary. With a larger thread stack size, the httpd process consumes more resources, and thus fewer users can be supported for each httpd process than with smaller sizes.
If you determine that a smaller thread stack size for the Siebel thread is more suitable for your Siebel applications, then you can set the SIEBEL_OSD_PTHREAD_STACK_SIZE
environment variable at the operating system level to specify the size that you require, in bytes. Some Siebel CRM applications might require only the minimum thread stack size, while others might require a size larger than this. Setting SIEBEL_OSD_PTHREAD_STACK_SIZE
is at the customer's discretion, based on the nature of the Siebel applications running on each Siebel Application Interface.
SIEBEL_OSD_PTHREAD_STACK_SIZE
to a value lower than 16384, then the effective value is 16384.
Configuring the Siebel Thread Stack Size on the Siebel Application Interface Computer
Use the following procedure to configure the thread stack size on the Siebel Application Interface computer.
To configure the Siebel thread stack size on the Siebel Application Interface computer
Open a new shell and execute a command similar to the following (this example sets the thread stack size to 64 KB):
C Shell
setenv SIEBEL_OSD_PTHREAD_STACK_SIZE 65536
Korn or Bourne Shell
export SIEBEL_OSD_PTHREAD_STACK_SIZE=65536
Stop the Siebel Application Interface.
Start the Siebel Application Interface.
Tuning the Siebel Application Interface for All UNIX and Linux Operating Systems
You might need to tune the Siebel Application Interface to run Siebel CRM on UNIX platforms, for performance reasons. As part of that tuning, you might need to configure additional anonymous users or specify settings such as the guest session time-out, for example. For more information, see the Siebel Installation Guide for the operating system you are using and see Siebel Security Guide.
Related Topics
Specifying Static File Caching on the Siebel Application Interface
Tuning Siebel Application Object Manager Instances for Oracle Solaris
Related Books
Siebel Installation Guide for the operating system you are using
Siebel Security Guide
Tuning Siebel CRM for AIX
This topic provides instructions for configuring and tuning operating system settings and Siebel Enterprise Server components so that you can run Siebel applications on AIX. It contains the following information:
Tuning the Siebel Server for AIX
This topic is part of Tuning Siebel CRM 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. The following tables describe each of these environment variables and their recommended settings.
Table 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 must 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 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 |
>=n A number greater than or equal to the number of processors. |
Controls the number of times to yield the processor before blocking on a busy lock (only for libpthreads). Set this variable, at the minimum, equal to the number of processors on the computer. |
MALLOCOPTIONS |
buckets,considersize,mu ltiheap:4 |
Include in the value an integer representing the number of processors on this computer. In this case, the value 4 would be used for a four-processor computer. |
LDR_CNTRL |
Example values:
|
The |
Tuning Kernel Settings for AIX
This topic is part of Tuning Siebel CRM for AIX.
There are several AIX kernel settings that you can tune for optimal Siebel Server or Siebel Application Interface performance under AIX. These include the Virtual Memory Management and TCP settings. You must have root privileges to modify these settings. Use the vmo
, ioo
, and no
commands to tune the AIX kernel. For more information about AIX kernel settings, including several that are not mentioned in this guide, see 1097858.1 (Article ID) on My Oracle Support. See also your operating system vendor's documentation.
To change the kernel settings
Using a text editor such as
vi
, open the/etc/rc.net
file for editing.Modify settings using
ioo
andno
, following the guidance of 1097858.1 (Article ID) on My Oracle Support.Note: Use default values for settings forvmo
.Check the settings for all User Limits (ulimit) and make sure that they are set to -1 (unlimited), as follows:
ulimit if -a
Note: To change the set limits, update the/etc/security/limits
file by changing allulimit
parameter values to -1 (unlimited).Save your changes and exit the editor.
Make sure that the rpc.statd and rpc.lockd daemons run on the Siebel Server computer and on the server computer where the Siebel File System is located. Then set the number of threads for the rpc.lockd daemon on each applicable server computer.
It is recommended to increase the number of rpc.lockd daemon threads from the default. If possible, use the maximum number of threads, which is 511. System degradation can occur and logins might be blocked if the rpc.lockd daemon is not configured to handle a large number of lock requests. For example, you might execute commands like this:
chssys -s rpc.lockd -a 511 stopsrc -s rpc.lockd; startsrc -s rpc.lockd
Restart the server computer to have the new settings take effect.
Tuning Siebel CRM for HP-UX
This topic provides instructions for configuring and tuning operating system settings and Siebel Enterprise Server components so that you can run Siebel applications on HP-UX. It contains the following information:
Tuning Kernel Settings for HP-UX
This topic is part of Tuning Siebel CRM for HP-UX.
Modify the HP-UX kernel parameters to values like those shown below (suggested guidelines). Use the HP-UX System Administration Manager (SAM) tool to make these changes.
nproc 4096 - 4096 ksi_alloc_max 32768 - (NPROC*8) max_thread_proc 4096 – 4096 maxdsiz 0x90000000 - 0X90000000 maxdsiz_64bit 2147483648 - 2147483648 maxfiles 4000 - 4000 maxssiz 401604608 - 401604608 maxssiz_64bit 1073741824 - 1073741824 maxtsiz 0x40000000 - 0X40000000 msgmap 4098 - (NPROC+2) msgmni 4096 - (NPROC) msgtql 4096 - (NPROC) ncsize 35840 - (8*NPROC+2048+VX_NCSIZE) nfile 67584 - (16*NPROC+2048) ninode 34816 - (8*NPROC+2048) nkthread 7184 - (((NPROC*7)/4)+16) nproc 4096 - 4096 nsysmap 8192 - ((NPROC)>800?2*(NPROC):800) nsysmap64 8192 - ((NPROC)>800?2*(NPROC):800) semmni 1024 - 1024 semmns 16384 - ((NPROC*2)*2) semmnu 2048 - 2048 semume 256 - 256 shmmax 0x40000000 Y 0X40000000 shmmni 1024 - 1024 shmseg 1024 Y 1024 vps_ceiling 64 - 64
Setting Permissions for the HP-UX Scheduler
This topic is part of Tuning Siebel CRM for HP-UX.
Siebel CRM will have better performance on HP-UX if you make the following changes, which allow the Siebel Server to execute the HP-UX scheduler upon startup. You must have root privileges to make these changes.
To set permissions for the HP-UX scheduler
Add the following line to the
/etc/privgroup
file, creating it if necessary:-g RTSCHED
Save the file and exit.
-
Execute the following command:
setprivgrp -f /etc/privgroup
Verify that global
RTSCHED
permissions are set by executing the following command:getprivgrp
If the command is successful, then the system will respond:
global privileges: RTSCHED
Tuning Siebel CRM for Oracle Solaris
This topic provides instructions for configuring and tuning operating system settings and Siebel Enterprise Server components so that you can run Siebel applications on Oracle Solaris. It contains the following information:
Tuning Kernel Settings for Oracle Solaris
This topic is part of Tuning Siebel CRM for Oracle Solaris.
To run Siebel Servers or Siebel Application Interface in an Oracle Solaris environment, you need to set Oracle Solaris kernel parameters to specific recommended values for particular releases of Oracle Solaris servers. To learn the specific parameter recommendations for Siebel Servers or Siebel Application Interface running on Oracle Solaris, contact Oracle Advanced Customer Services. Contact your Oracle sales representative to request assistance from Oracle Advanced Customer Services.
Several Oracle Solaris kernel parameter settings significantly affect performance of Siebel CRM in general, and the Siebel Server in particular.
Oracle Solaris kernel parameters reside in the configuration file /etc/system
. To change the settings for these parameters, you must manually edit this file, save your changes, and reboot the system.
Normally, the Oracle Solaris kernel memory parameter settings are relatively low. However, for large memory-model applications like the Siebel Server applications, it is recommended that you increase the values assigned to several of these parameters.
To tune the Oracle Solaris kernel settings for Siebel Server
Using an editor such as
vi
, open the/etc/system
file for editing.Add or modify the following lines, which are general settings:
set rlim_fd_cur = 65536 set kernel_cage_enable = 1 set rlim_fd_max = 65536
Save your changes and exit the editor.
Restart the server computer to have the new settings take effect.
Tuning Siebel Application Object Manager Instances for Oracle Solaris
This topic is part of Tuning Siebel CRM for Oracle Solaris.
Oracle Solaris computers running more than 50 Application Object Manager instances (multithreaded processes for Siebel Application Object Manager) might experience a situation where one or more of the processes do not start correctly, while the rest start and function normally. The log files for the processes that do not start will indicate that they have not started correctly. If you experience these symptoms, then change the tcp_conn_req_max_q
and tcp_conn_req_max_q0
default values, using the ndd
command.
To change TCP values
Log in as
root
.Issue the
ndd
command:Note: The responses are noted in bold.ndd /dev/tcp name to get/set ? tcp_conn_req_max_q value ? 1024 name to get/set ? tcp_conn_req_max_q0 value? 4096
Add the following lines to the
/etc/system
file, using any text editor such as vi:set tcp:tcp_conn_req_max_q = 1024 set tcp:tcp_conn_req_max_q0 = 4096
Save your changes and exit the editor.