Bookshelf Home | Contents | Index | Search | PDF |
Performance Tuning Guide > Tuning the Siebel Application Object Manager for Performance > Best Practices for AOM Tuning >
Configuring Specialized Database Connection Pooling
Specialized database connections, which are not shared, are used primarily by specialized Siebel components such as Siebel eAI that need transactions to span multiple AOM operations. These connections are used for operations that use BEGIN TRANSACTION and END TRANSACTION.
Configuring Parameters for Specialized Connection Pooling
This section describes how to enable or disable specialized connection pooling using the parameter MinTrxDbConns. This parameter is included in named subsystems of type InfraDatasources.
- MinTrxDbConns controls the minimum number of specialized database connections for each multithreaded process. The connections are not created until they are needed. The minimum value is thus the minimum size of the pool of specialized connections once the pool has been filled.
- There is no explicit limit to the maximum number of specialized connections. However, effectively, there cannot be more specialized connections than sessions. On average, there will be many fewer connections than sessions.
- MinTrxDbConns are defined is AOM component, on an enterprise basis. The database connections this parameter controls are not shared across multithreaded processes. The actual number of database connections for each multithreaded process is what you specify as the value for MinTrxDbConns.
NOTE: MinTrxDbConns works differently than MaxSharedDbConns and MinSharedDbConns, which specify the number of shared connections available for the entire AOM. For details, see Configuring Parameters for Shared Connection Pooling.
Example Configuration for Specialized Connection Pooling
Assume, for example, the following parameter setting, in addition to those described in Example Configuration for Shared Connection Pooling:
With this setting, each multithreaded process would have a minimum of five specialized database connections. If all five multithreaded processes are running on this AOM, there would be a minimum of 25 specialized connections for this AOM.
How Specialized Connections Are Assigned
When the AOM starts up, the specialized connection pool is empty. When a request is made to start a transaction, the AOM requests a database connection from the specialized connection pool. If one is available, it is removed from the pool and given to the session for that session's exclusive use.
When the transaction completes (such as by being committed or canceled), the session returns the specialized connection to the pool. If the pool already contains more than the number of connections specified by MinTrxDbConns, the specialized connection is closed; otherwise, it is retained in the pool.
Scenario for Assigning Shared Connections
Assume, for example, that MinTrxDbConns is set to 2. Specialized connections will be handled as follows:
- User 1 starts Transaction 1. The specialized connection pool is empty, so a new connection is created. Once Transaction 1 completes, this connection is returned to the pool.
- User 2 starts Transaction 2. If Transaction 1 is still running, then a new specialized connection is created. If Transaction 1 completed, then Transaction 2 uses the first database connection.
- When two specialized connections have been created, they will remain in the pool until the AOM terminates.
Bookshelf Home | Contents | Index | Search | PDF |
Performance Tuning Guide Published: 24 October 2003 |