Siebel on Sun Solaris: More Performance with Less Number of mprotect() Calls
By Giri Mandalika on Dec 20, 2008
By default each transaction in Siebel CRM application makes a large number of serialized
mprotect() calls which in turn may degrade the performance of Siebel. When the load is very high on the Siebel application servers, the
mprotect() calls are serialized by the operating system kernel resulting in high number of context switches and low CPU utilization.
If a Siebel deployment exhibits the above mentioned pathological conditions, performance / scalability of the application can be improved by limiting the number of
mprotect() calls from the application server processes during the run-time. To achieve this behavior, set the value of Siebel CRM's AOM tunable parameter
FALSE. Starting with the release of Siebel 7.7, the parameter
MemProtection is a hidden one with the default value of
TRUE. To set its value to
FALSE, run the following command from the CLI version of Siebel Server Manager -
change param MemProtection=False for comp <component_alias_name> server <siebel_server_name>
component_alias_name is the alias name of the AOM component to be configured. eg., SCCObjMgr_enu is the alias for the Call Center Object Manager, and
siebel_server_name is the name of the Siebel Server for which the component being configured.
Note that this parameter is not a dynamic one - hence the Siebel application server(s) must be restarted for this parameter to be effective.
truss -c -p <pid_of_any_busy_siebmtshmw_process> before and after the change to see how the
mprotect system call count varies.
For more information about this tunable on Solaris platform, check Siebel Performance Tuning Guide Version 7.7 or later in Siebel Bookshelf.
(Originally posted on blogger at:
Siebel on Sun Solaris: More Performance with Less mprotect() Calls)