Copyright © TIBCO Software Inc. All rights reserved.
Copyright © TIBCO Software Inc. All rights reserved.


Chapter 2 Configuring the TIBCO iProcess Objects Server : General Parameters

General Parameters
This dialog is from the Windows TIBCO iProcess Objects Server Configuration Utility. The configuration parameter names shown in the callouts are from the UNIX TIBCO iProcess Objects Server configuration file. This illustration provides a cross-reference to determine which fields to change when using the configuration utility.
NumThreads
Number of message processing threads to create. This specifies the size of the pool of threads in the TIBCO iProcess Objects Server available for processing requests from clients. Note that this sets the TOTAL number of message processing threads, not the number per processor.
Thread information can be monitored using SWNodeInfoEx.ThreadInfos (TIBCO iProcess Objects), vANode.getThreadInfos (TIBCO iProcess Server Objects (Java)), or vANode.ThreadInfos (TIBCO iProcess Server Objects (.NET)). You may need to increase the number of threads if the threads are always busy, you’ve added more CPUs, you’re running short transactions, or you’ve added more users.
Note that if you change the value of this parameter, you may also need to change the value of the MAXPOOLSIZE parameter, which is specified in the $SWDIR/etc/staffcfg (UNIX) or SWDIR\etc\staffcfg (Windows) file. This depends on whether or not your TIBCO iProcess Objects Server has CR 14735 implemented. If your TIBCO iProcess Objects Server contains CR 14735, you do not need to set MAXPOOLSIZE. If it does not contain CR 14735, you must set MAXPOOLSIZE according to the information below.
To ensure that you do not run out of database connections, you must make sure that the value of the MAXPOOLSIZE parameter in the staffcfg file is set to the proper value. Running out of database connections can result in the TIBCO iProcess Objects Server failing with an ER_SYSTEM error. The value to set MAXPOOLSIZE depends on the number of threads being used. Therefore, to determine its value, you must use the value of the NumThreads configuration parameter. Use the following formula to determine the value to set the MAXPOOLSIZE parameter:
((NumThreads + 3) * 2) + 5
Values:
Default Value
The function for calculating the default number of message processing threads is as follows:
Default value = NumCPUs*DFLTMAXTHREADS*Multipler
Multipler = MAX (1, (2.4 - LOG (NumCPUs)))
where:
NumCPUs is the number of processors on the system.
DFLTMAXTHREADS is the default value, 5.
Run the following command to display the default number of message processing threads:
SWDIR\bin\swentobjsv -v
$SWDIR/bin/swentobjsv -v
The default number of message processing threads is prompted as follows:

 
# of CPU's : Number_of_CPU
# of Threads: Number_of_Threads

 
Be aware that if you are running multiple TIBCO iProcess Objects Servers on the same machine, and they are different versions that allow a different upper range for NumThreads, TIBCO iProcess Objects Server Configuration Utility will allow you to set the upper limit up to 32,767. Ensure that you specify only the number of threads allowed for the version of server you are configuring.
SALMaxSessions
The number of SAL sessions to pool in the general user pool. (Anonymous users use their own pool (see Anonymous parameters on Anonymous Parameters).)
Windows Systems
The value of this parameter should be at least as large as the maximum number of concurrent users you expect to have on the system. If your server has restrictions on amounts of available memory, you may want to set this value lower than the maximum number of concurrent users. However, this will cause the TIBCO iProcess Objects Server to context switch SAL sessions by logging users in and out of its SAL session cache (this context switching is transparent to clients). This context switching does not provide optimal performance, but conserves memory usage of the TIBCO iProcess Objects Server. Only set the value of this parameter to less than the maximum number of concurrent users when making the memory usage of the TIBCO iProcess Objects Server smaller is more important than response time.
You will get better performance by adding memory and increasing the value of this parameter.
Lower Bound: 1
Upper Bound: none
Default: 100
UNIX Systems
This parameter defaults to the value in TCPMaxClients, but will be dynamically changed by the TIBCO iProcess Objects Server as needed.
Lower Bound: 0
Upper Bound: 32,767
Default: Same as TCPMaxClients
SALSessionTimeout
Sets the amount of time, in seconds, that the TIBCO iProcess Objects Server will wait before it will close idle SAL sessions. A value of 0 means SAL sessions will not automatically close.
Lower Bound: 0 (disables timeouts)
Upper Bound: unlimited
Default: 0
SALWaitTimeout
Specifies, in milliseconds, the amount of time the server will wait for a SAL session to become free before returning an error to the client. (Each user has their own SAL session. While a particular user is running a transaction, any other users with the same name will have to wait to get exclusive access to their SAL session.)
If the server times out waiting for the SAL session to return, it returns an ER_ACQUIRE error (-158 - "error acquiring a user's mutex and SAL session") to the client. It also writes the following to the log file:
"process_msg: acquire_user (user) timed out (-158)"
where process_msg is the name of the function where the timeout occurred, and user is the name of the user that timed out trying to get a SAL session.
Lower Bound: 0 (disables timeouts)
Upper Bound: unlimited
Default: 60000 (60 seconds)
SALNumPDSessions
Specifies the number of PD (procedure definition) session handles to cache when a SAL session is started, i.e., whenever a user logs on for the first time. This setting should be changed only if instructed by TIBCO Support personnel.
Lower Bound: 0
Upper Bound: 7
Default: 2
SerializeSALLogin
Specifies whether or not the TIBCO iProcess Objects Server should serialize calls to the SAL login function. SAL login calls should be serialized if your UVAPI package is not thread safe. If the UVAPI package is not thread safe, concurrent calls to the SAL login function can cause the server to crash. Note that setting this parameter to 1 will have a negative impact on performance.
Values: 0 (No) or 1 (Yes)
Default: 0 (No)
On UNIX systems, this configuration parameter is not automatically written to your TIBCO iProcess Objects Server configuration file (swentobjsv.cfg) when you upgrade from an earlier TIBCO iProcess Objects Server. (It can be found in the “sample” configuration file (sample.cfg) that is written to your system when you upgrade.) To make use of this parameter, you must manually add it to your configuration file.
SALRPCSize
Sets the size of the RPC buffer used to communicate with the work queue servers.
Lower Bound: 1,000
Upper Bound: 32,000
Default: 4,096 bytes
SALRPCTimeout
Sets the amount of time, in seconds, that the RPC layer of the SAL will wait for a response to an RPC request before timing out.
Lower Bound: 1
Upper Bound: 32767
Default: 25 seconds
NumFiles (UNIX Only)
This parameter sets the maximum number of files that the UNIX TIBCO iProcess Objects Server can open.
TIBCO iProcess Engine must be started with a sufficient number of available file descriptors per process based upon the number of users. It is highly recommended that the file limit be as high as possible since the TIBCO iProcess Objects Server will immediately exit if there are no more file descriptors available. The following three methods are available to set this number:
Allow the TIBCO iProcess Objects Server to calculate the maximum number of open files using the value in the TCPMaxClients configuration parameter (see TCPMaxClients). The calculation shown below is used:
   (2 times value of TCPMaxClients) + 20
The TIBCO iProcess Objects Server will automatically use the formula shown above to set the maximum number of files if the NumFiles parameter is not specified.
      (12 * Number of users) + 100
For a default configuration, the default number of users is 1024, which means the upper file limit should be 12388 ((12 * 1024) + 100).
Run the command ulimit -n unlimited to set the file limit to the operating system design limits; this command will only be successful if TIBCO iProcess Engine is started as the root user or if the system limits allow this.
Lower Bound: 148
Upper Bound: System limit
Default: There is no default. If this parameter is not specified, the
TCPMaxClients parameter is used to calculate the number of files.
 
StackSize (UNIX Only)
The number of kilobytes to set the thread stack size, per thread.
The StackSize parameter is not included in the configuration file ($SWDIR/seo/data/swentobjsv.cfg) by default. If you want to set the stack size to a value different from the default, you must manually add this parameter to the configuration file.
When filtering cases, if the filter expression contains a large number of clauses, the SAL sal_xpc_list_filter_cases routine crashes, resulting in the TIBCO iProcess Objects Server crashing (a clause consists of a field being compared to a value, e.g., “SW_CASENUM = 7 AND AMOUNT > 10000” contains two clauses).
If you experience this type of error, increasing the thread stack size may resolve the problem. The default stack size is 2MB per thread. To increase this value, you must manually add the StackSize parameter to your configuration file. Note that increasing the stack size will increase the overall memory size of TIBCO iProcess Objects Server.
Lower Bound: 100 (Although the lower bound of 100K is enforced, this parameter should probably not be set to a value lower than the default.)
Upper Bound: Limited by system thread stack size limits
Default: 2MB (AIX, HP-UX, Linux, and Solaris)
CacheProcEAIStep
This parameter specifies whether or not to cache the EAI step definition.
The value of this flag must be one of the following.
Note: Empty information is returned for both TIBCO iProcess Objects and the TIBCO iProcess Server Objects client. The functions that are used to return values for each client are as follows:
The getExternalForm function in the sProcManager and xProcManager objects.
The getExtForm function in the SWStep object.
The CacheProcEAISep parameter is not included in the swentobjsv.cfg configuration file by default when you install or upgrade TIBCO iProcess Objects Server. To cache the EAI step definition, you must manually add this parameter to the configuration file.

Copyright © TIBCO Software Inc. All rights reserved.
Copyright © TIBCO Software Inc. All rights reserved.