Configuring Database Connections and Datasource Statement Caching

28-10 Developers Guide for Oracle Application Integration Architecture Foundation Pack

28.2.7 Configuring Database Connections and Datasource Statement Caching

By properly configuring the connection pool attributes in JDBC data sources in your WebLogic Server domain, you can improve application and system performance. The following sections include information about tuning options for the connection pool in a JDBC data source:

28.2.7.1 JDBC Datasource Connection Pool Settings

■ Statement Cache Type The Statement Cache Type or algorithm determines which prepared and callable statements to store in the cache for each connection in a data source.AIA recommends the property to set to LRU ■ Statement Cache Size The Statement Cache Size attribute determines the total number of prepared and callable statements to cache for each connection in each instance of the data source. By caching statements, you can increase your system performance. However, you must consider how your DBMS handles open prepared and callable statements. In many cases, the DBMS maintains a cursor for each open statement. This applies to prepared and callable statements in the statement cache. AIA recommends keeping the default value of 10. If you cache too many statements, you may exceed the limit of open cursors on your database server. For example, if you have a data source with 50 connections deployed on 2 servers, if you set the Statement Cache Size to 10 the default, you may open 1000 50 x 2 x 10 cursors on your database server for the cached statements. ■ Initial Capacity and Maximum Capacity For applications that use a database, performance can improve when the connection pool associated with a data source limits the number of connections. You can use the Maximum Capacity to limit the database requests from Oracle Application Server so that incoming requests do not saturate the database, or to limit the database requests so that the database access does not overload the Oracle Application Server-tier resource. The connection pool MaxCapacity attribute specifies the maximum number of connections that a connection pool allows. By default, the value of MaxCapacity is set to 15. For best performance, you should specify a value for MaxCapacity that matches the number appropriate to your database performance characteristics. Limiting the total number of open database connections to a number your database can handle is an important tuning consideration. You should check to ensure that your database is configured to allow at least as large a number of open connections as the total of the values specified for all the data sources MaxCapacity option, as specified in all the applications that access the database. AIA recommends setting Initial and Maximum Capacity to 50 to start with; and make the necessary adjustments based on the database performance.

28.2.7.2 Getting the Right Mix of Performance and Fault Tolerance

These four options can be used to get the right mix of performance and fault tolerance for your system. ■ Test Frequency Enable periodic background connection testing by entering the number of seconds between periodic tests. . If the request is made within the time specified for Tuning Integration Flows 28-11 Seconds to Trust an Idle Pool Connection, since the connection was tested or successfully used by an application, WebLogic Server skips the connection test. ■ Test Reserved Connections If Test Reserved Connections is enabled on your data source, when an application requests a database connection, WebLogic Server tests the database connection before giving it to the application. If the request is made within the time specified for Seconds to Trust an Idle Pool Connection, since the connection was tested or successfully used by an application, WebLogic Server skips the connection test before delivering it to an application. ■ Seconds to Trust an Idle Pool Connection Seconds to Trust an Idle Pool Connection is a tuning feature that can improve application performance by minimizing the delay caused by database connection testing, especially during heavy traffic. However, it can reduce the effectiveness of connection testing, especially if the value is set too high. The appropriate value depends on your environment and the likelihood that a connection will become defunct. ■ Remove Infected Connections Enabled Specifies whether a connection will be removed from the connection pool after the application uses the underlying vendor connection object. If you disable removing infected connections, you must ensure that the database connection is suitable for reuse by other applications. When set to true the default, the physical connection is not returned to the connection pool after the application closes the logical connection. Instead, the physical connection is closed and re-created. When set to false, when the application closes the logical connection, the physical connection is returned to the connection pool and can be reused by the application or by another application. For more information, see: ■ Generating Automatic Workload Repository Reports in Oracle Database Performance Tuning Guide ■ Monitoring Performance in Oracle Database Administrator’s Guide ■ JDBC Data Source: Configuration: Connection Pool in Oracle Fusion Middleware Oracle WebLogic Server Administration Console Online Help ■ Tuning Data Source Connection Pool Options in Oracle Fusion Middleware Configuring and Managing JDBC for Oracle WebLogic Server

28.2.8 Oracle Metadata Service MDS Performance Tuning