For those who ever needed to have a deeper look at application internals that may be impacting performance probably had this impression:
This is the scenario where Websphere PMI is a killer feature.
Imagine that your application isn’t performing as expected. Many can be the reasons for the poor performance. I’ve faced myself a scenario where the application was waiting a long time for getting a JMS connection from Websphere internal provider since its default configuration of 10 connections maximum isn’t acceptable for any application with performance requirements of even 100 transactions per second.
Enabling PMI
By default, Websphere 6.1 ND comes with basic PMI metrics enabled. These include for example:
- Enterprise Beans.Create Count
- JDBC Connection Pools.Wait Time
- JDBC Connection Pools.Use Time
If you need anything more than the default, you can change under:
Monitoring and Tuning > Performance Monitoring Infrastructure (PMI)
then click on the desired server.
After you have chosen the desired metrics (remember that more metrics involve more CPU impact on runtime), go to the following menu:
Monitoring and Tuning > Performance Viewer > Current Activity
Now you need to check if your server is in fact already collecting data, if it is already enabled but not collecting, Collection Status will show Available. In order to start collecting, check the desired server and click Start Monitoring button. After clicking the button it will now show Monitored on the status column.
Now you can click on the desired server and tick for example one of your connection pools under the tree on the left, you should see an structure similar to the below:
Performance Modules > JDBC Connection Pools > Oracle XA Provider > yourDataSource
After clicking the metric you’ll have a graph display of the current data and also a tabular with the snapshot of the indicator below.
* note: Eclipse TPTP is said to be supported on AIX on version 4.3.1 but I have not been able to make it work