Performance guidance for production applications - Application Servers
Summary
The following article consists of the recommendations collected from Pegasystems Global Customer Support for improving the performance of your Process Commander application, as regards database operations and settings in a production environment.
Because individual situations vary, you should conduct performance testing before and after you implement any of the suggestions in this article. .
Suggested Approach
WebSphere Application Server (WAS)
- Identify long-running queries in DB2 and MS SQL Databases on WebSphere:
PRKB-25380: Issue:"Unsuccessful execution ... unavailable resource" and isolation levels (WebSphere)
- Isolation Level is Read Committed in DB2 and MS SQL Databases on WebSphere. For details see:
PRKB-25380: Issue:"Unsuccessful execution ... unavailable resource" and isolation levels (WebSphere)
- See the following for guidance on tuning Object Request Broker thread pools, EJB containers, database connection pooling, and other settings which affect WebSphere performance:
IBM WebSphere Application Server, Version 5.1.x: Tuning performance parameter index
For additional details on database connection pool settings, see:
IBM Network Deployment (Distributed operating systems), Version 7.0: Tuning performance
- Confirm that reverse DNS lookup is disabled. See the following on the DNS-Lookup setting:
IBM WebSphere Application Server: Configuration File Directives
- Reference information regarding WebSphere tuning:
IBM Network Deployment (Distributed operating systems), Version 7.0: Tuning performance
Oracle WebLogic Server
- Monitor settings for JDBC Connection Pool. Use the WebLogic Server Console to examine:
- Active Connections Average Count should be less than the JDBC Connection Pool Maximum Capacity.
- Active Connections High Count should be less than the JDBC Connection Pool Maximum Capacity.
- JDBC Pool Initial Capacity – Increase the minimum to ten.
- JDBC Pool Maximum Capacity – Increase to 20 to 25 to begin (depending on the number of users per JVM), and increase over time if needed.
- JDBC Pool Statement Cache Size – Increase to 100.
For details concerning pool capacity settings, see the following:
Oracle: Tuning WebLogic Server - Tuning JDBC Connection Pool Initial Capacity
Also see the following guidance on the PDN regarding PEGA0026 alerts:
PRKB-26159 Troubleshooting: PEGA0026 alerts indicate connection pool settings too low - Tune thread utilization on WebLogic servers using Work Managers, as described here:
Oracle: Tuning WebLogic Server – Tuning a Work Manager
- Confirm that reverse DNS lookup is disabled. See the following on the ReverseDNSAllowed setting:
BEA WebLogic Server 8.1 Documentation: Server > Configuration > Tuning
Also confirm that reverse DNS lookup is disabled on the WebLogic Node Manager, if present. See the following reference information on the weblogic.nodemanager.reverseDnsEnabled setting:
WebLogic Server: Configuring, Starting, and Stopping Node Manager
Apache Tomcat
- Recommendations for tuning startup performance:
Tomcat Wiki: How do I make Tomcat startup faster? - Recommendations for memory issues:
Tomcat Wiki: How to Deal With Out Of Memory Errors - Parameters which control database connection pooling:
Apache Commons Developer's Guide: Configuration - Parameters which control HTML thread pooling:
Apache Tomcat Configuration Reference: The Executor - Disable Reverse DNS Lookup. See the following attribute setting for the HTTP connector:
enableLookups: Set to true if you want calls to request.getRemoteHost() to perform DNS lookups in order to return the actual host name of the remote client. Set to false to skip the DNS lookup and return the IP address in String form instead (thereby improving performance). By default, DNS lookups are enabled.
For more details about configuring the HTTP connector, see:
Apache Tomcat Configuration Reference: The HTTP Connector
Previous topic Numerous distinct RuleSets and work classes affect performance Next topic Performance guidance for production applications - Operating Systems