Performance Monitoring Infrastructure (PMI)
A typical web system consists of a web server, application server, and a database. Monitoring and tuning the application server is critical to the overall performance of the web system. Performance Monitoring Infrastructure (PMI) is the core monitoring infrastructure for WebSphere Application Server and WebSphere family products like Portal, Commerce, and so on. The performance data provided by WebSphere PMI helps to monitor and tune the application server performance.
When tuning the WAS for optimal performance, or fixing a poorly performing Java EE application, it is important to understand how the various run time and application resources are behaving from a performance perspective. PMI provides a comprehensive set of data that explains the runtime and application resource behavior. For example, PMI provides database connection pool size, servlet response time, EJB method response time, JVM garbage collection time, CPU usage, and so on. This data can be used to understand the runtime resource utilization patterns of the thread pool, connection pool, and so on, and the performance characteristics of the application components like servlets, JSP, and enterprise beans.
Using PMI data, the performance bottlenecks in the application server can be identified and fixed. For instance, one of the PMI statistics in the Java DataBase Connectivity (JDBC) connection pool is the number of statements discarded from prepared statement cache. This statistic can be used to adjust the prepared statement cache size in order to minimize the discards and to improve the database query performance. PMI data can be monitored and analyzed by Tivoli Performance Viewer, other Tivoli tools, our own applications, or third party tools. Tivoli Performance Viewer is a graphical viewer for PMI data that ships with WAS. Performance advisors use PMI data to analyze the run-time state of the application server, and provide tuning advice to optimize the application server resource utilization.
PMI data can also be used to monitor the health of the application server. Some of the health indicators are CPU usage, Servlet response time, and JDBC query time. Performance management tools like Tivoli Monitoring for Web Infrastructure and other third party tools can monitor the PMI data and generate alerts based on some predefined thresholds.
Subtopics
- PMI architecture
- PMI and J2EE 1.4 Performance Data Framework
- PMI data classification
- PMI data organization
- PMI data collection
Third-party performance monitoring and management solutions