(Originally posted 2006-01-12.)
APARs PQ99707, PK07317 and PK08949 document two performance improvements that help WAS applications using the Universal JCC (java) driver. All the enhancements are available for DB2 Version 8. The “CPU cost” one is also marked as available for DB2 Version 7.
Higher DB2 CPU costs and longer transaction times are caused when using the new Java Universal Driver DB2Connection.resetDB2Connection() method. This method allows the JCC client system to pool connections to a remote system for later use by other applications, or transactions, that need to access the same server, thereby saving the performance cost of physically re-establishing a connection to the remote server.
When the JCC client system decides to reuse the connection, the DB2 server must first clean up and release all resources related to the previous transaction before executing the next transaction on the connection. Using this new method, the DB2 server treats each transaction as an independent entity and requires each user associated with each transaction to be authenticated using RACF, even if the userID and password is unchanged from the last use of the connection.
The high rate of re-authentication causes excessive CPU utilization and degrades performance.
DB2 server changes were made to improve the performance of the JCC DB2Connection.resetDB2Connection() method being exploited by WAS. DB2 is changed to only perform authentication every 3 minutes when the userID and password hasn’t changed from the last use of the connection.
Also, with PQ99707, there is a reduction in message flows when the client provides “end user identification” data: UserID, work station name, application name, and accounting data)