Go to primary content
Siebel CRM Performance Tuning Guide
Siebel Innovation Pack 2017
E24801-01
  Go to Documentation Home
Home
Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
 
Next
Next
    View PDF

13 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:

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.


Note:

The settings provided in this chapter are based on a controlled lab environment using a standard Siebel application, such as Siebel Call Center. The degree of performance gained by using these settings at your site depends on your implementation. Contact your vendor for additional tuning recommendations for your supported operating system. Information is provided where tuning recommendations apply. In general, it can be assumed that tuning is not required if no recommendations are provided. For example, no information is provided about tuning the kernel on Linux operating systems, because such tuning is not necessary in those cases.

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 Business Applications.

Maximizing Data Throughput

For a server computer on which you install Siebel Business Applications 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


Note:

Where the Siebel database is on a server computer running Microsoft SQL Server, the setting Maximize data throughput for network applications is set by default, and is also generally recommended for optimal performance. Whether to keep or change this default depends on how you are using the server computer.

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.


Note:

Each Siebel process (Siebel Application Object Manager) cannot use more than 2 GB of RAM.

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.


Note:

Before changing these variables, stop the Siebel Server using the 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 (cumulative MaxTasks for all components)) plus 1000

  • SIEBEL_OSD_LATCH = 1.2 times (cumulative MaxTasks 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 1000

  • SIEBEL_OSD_LATCH = 1020 = 1.2 times (700 plus 150)


Note:

Although the formulas presented here are expected to work for most deployments, in certain cases you might need to increase (for example, double) the values of these variables, and then monitor system behavior with the adjusted values. (An error message such as 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.


Note:

The minimum Siebel thread stack size is 16 KB, or 16384 bytes. If you set 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

  1. 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

  2. Stop the Siebel Application Interface.

  3. 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 Business Applications 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 Books

Siebel Installation Guide for the operating system you are using

Siebel Security Guide

Tuning Siebel Business Applications 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 Business Applications 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 13-1 and Table 13-2 describe each of these environment variables and their recommended settings.


Note:

For more information about tuning the Siebel Server, see "Tuning the Siebel Server for All UNIX and Linux Operating Systems".

Table 13-1 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 13-2 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,multiheap: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:

LOADPUBLIC@MAXDATA=0x50000000 (this value, which specifies five segments, sets a maximum process size of 1.25 GB)

LOADPUBLIC@MAXDATA=0x60000000 (this value, which specifies six segments, sets a maximum process size of 1.5 GB)

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 program that needs the extra memory.


Tuning Kernel Settings for AIX

This topic is part of "Tuning Siebel Business Applications 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

  1. Using a text editor such as vi, open the /etc/rc.net file for editing.

  2. Modify settings using ioo and no, following the guidance of 1097858.1 (Article ID) on My Oracle Support.


    Note:

    Use default values for settings for vmo.

  3. 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 all ulimit parameter values to -1 (unlimited).

  4. Save your changes and exit the editor.

  5. 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 511stopsrc -s rpc.lockd; startsrc -s rpc.lockd
    
  6. Restart the server computer to have the new settings take effect.

Tuning Siebel Business Applications 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:

For information about tuning the Siebel Application Interface, see:

Tuning Kernel Settings for HP-UX

This topic is part of "Tuning Siebel Business Applications 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 Business Applications for HP-UX".

Siebel Business Applications 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

  1. Add the following line to the /etc/privgroup file, creating it if necessary:

    -g RTSCHED
    
  2. Save the file and exit.

  3. Execute the following command:

    setprivgrp -f /etc/privgroup
    
  4. 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 Business Applications 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 Business Applications 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 Business Applications 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.


Caution:

If you use the default Oracle Solaris kernel parameters, or lower, to run a Siebel Server in an Oracle Solaris environment, then there is a risk of serious performance problems, resulting in SIGABRT or SIGSEV errors for some Siebel Server components.

To tune the Oracle Solaris kernel settings for Siebel Server

  1. Using an editor such as vi, open the /etc/system file for editing.

  2. 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
    
  3. Save your changes and exit the editor.

  4. 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 Business Applications 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

  1. Log in as root.

  2. 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
    
  3. 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
    
  4. Save your changes and exit the editor.