| Siebel CRM Performance Tuning Guide Siebel Innovation Pack 2017 E24801-01 |
|
![]() Previous |
![]() Next |
View PDF |
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 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.
|
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. |
This topic describes how you can configure settings for your Microsoft Windows operating system to optimize the performance of Siebel Business Applications.
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.
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. |
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.
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.
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.
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 thestop_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 asSBL-OSD-00217: Error exceeded maximum number of latches can sometimes be generated even when the variables are set according to the recommended formulas. |
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 setSIEBEL_OSD_PTHREAD_STACK_SIZE to a value lower than 16384, then the effective value is 16384. |
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.
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
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:
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:
|
The |
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
Using a text editor such as vi, open the /etc/rc.net file for editing.
Modify settings using ioo and no, 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 all ulimit 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 511stopsrc -s rpc.lockd; startsrc -s rpc.lockd
Restart the server computer to have the new settings take effect.
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:
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
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
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
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:
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
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.
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
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.