Tuesday, May 27, 2014

System Properties to close long DB Connections in Maximo 7.5.0.3

We might have faced slow performance in Maximo due to our customization.

The performance may be degraded due to many reasons, such as, code without proper best practices like closing used MboSets , tuning the queries [reports, relationships, codes etc] with indexes, memory intensive logic like Yes\No\Cancel Exceptions,etc,
   
When the performance issue is reported in the project with an indication of many open connections to the Database, it is a time consuming process to identify the exact point where it goes wrong.
Heap and Thread analyzers would be used for these purposes. 

As an immediate fix to customers, we need to use the latest system properties to close the open connections.

mxe.db.closelongrunconn - by default it is false
--> when set to true will close the lost connections if the connections have been held for greater than mxe.db.longruntimelimit time 

mxe.db.longruntimelimit - default 180 minutes. if not configured, it will take 30 mins as the value
--> If the application server finds any database connection held for greater than mxe.db.longruntimelimit, then it will check in the database to make sure the connection was actually not used by any processes in that time duration. If the connection was not used by any process, then it sets the Maximo database connection reference count to zero and returns the connection back to the connection pool.

mxe.db.detectlongrunconninterval
--> this is the frequency in which the long running connections are checked. If fix pack missing to add it, we may need to create this property manually.