InfoCenter Home > 6.6.0.12: About the WebSphere Resource AnalyzerThis section introduces the WebSphere Resource Analyzer and contains the following topics:
Introduction to the WebSphere Resource AnalyzerThe WebSphere Resource Analyzer is a Graphical User Interface (GUI) performance monitor for IBM WebSphere Application Server Version 4.0, Advanced Edition for Multiplatforms. You can use the Resource Analyzer to retrieve performance data from the application servers. Data is collected continuously by the application servers and retrieved as needed from within the Analyzer. You can regulate the impact incurred from data collection by using the Resource Analyzer or the WebSphere Advanced Administrative Console. (See Understanding instrumentation levels for data collection.) The Resource Analyzer's graphical interface provides controls that enable you to choose the particular resources and counters to include in a view. The Resource Analyzer provides access to a wide range of performance data for two kinds of resources:
Performance data includes simple counters, statistical data (such as the response time for each method invocation of an enterprise bean), and load data (such as the average size of a database connection pool during a specified time interval). This data is reported for individual resources and aggregated for multiple resources. Depending on which aspects of performance are being measured, you can use the Resource Analyzer to accomplish the following tasks:
Data collection and reporting incurs a cost--it can affect the performance of your distributed applications. Although performance data is automatically collected at all times, it is not reported by default. Instead, you must explicitly enable the reporting of the data that is collected for your monitored system. The WebSphere Advanced Administrative Console provides a dialog box for specifying which data is to be collected for which resources. If data is not being collected for a particular resource, the data point is not registered and therefore cannot be displayed in the Resource Analyzer. Even when data reporting is enabled, the types of data displayed depend on user-defined instrumentation levels. See Understanding instrumentation levels for data collection. To ensure the efficient operation of WebSphere Application Server, data collection for the machine on which the application server resides needs to be maintained with a minimum of overhead. To accomplish this requirement, no significant calculations are made on the server side. Instead, the Resource Analyzer uses the Performance Monitoring Infrastructure (PMI) client to hold and manipulate raw data that is reported by the server. Resource categories monitored by the Resource AnalyzerThe Analyzer collects and reports performance data for the following resource categories (modules):
How performance data is organizedThe Resource Analyzer organizes performance data in a centralized hierarchy of the following objects:
Each resource category (module) has an associated set of counters. The counters track activities that can have an impact on system performance. Counters measure some aspect of a running system, for example, the number of active enterprise beans, the time spent in responding to a servlet request, or the number of kilobytes of available memory. Modules can have instances, which are single instantiations of an object within a class. Counters can be assigned to any number of modules and instances or to no group at all. For example, the diagram in Figure 1 shows that the counter Avg Method Rt (average method response time) belongs to the Enterprise Beans module, and in addition, the method associated with the Container2.Bean1 instance also uses the Avg Method Rt counter. The diagram in Figure 1 shows a hierarchy of data collections that are organized for reporting to the Resource Analyzer. Figure 1. Example hierarchy of collections of performance data reported for Resource Analyzer Each instance can have counters activated or deactivated for each module (resource category), for example, the enterprise beans category. In addition, each module has its own a set of counters. The modules and instances can include or exclude any or all of the counters that are available, based on the object type and the instrumentation level. (See Understanding instrumentation levels for data collection.) Instances uniquely identify objects within them to modules by using a concatenation of the name of the instance and the name of the object. For example, Figure 1 shows instances named Container1 and Container2. The instances contain objects named Bean1. Each instance.object is uniquely identified by its full name: Container1.Bean1, Container2.Bean1, and Container2.Bean2. The object Bean1 belongs in both instances, Container1 and Container2. Container1.Bean1 and Container2.Bean1 are distinct instances with different activities occurring within each. The information that is reported for the same object in two instances will differ according to the difference in activity occurring in each instance. For example, Container1.Bean1 and Container2.Bean1 both have the Gets Found counter enabled. The data reported by the Gets Found counter in Container1.Bean1 reflects only the activity occurring in Container1. Similarly, the Gets Found counter in Container2.Bean1 only reports activity in Container2. The information that is reported on Container1.Bean1 and Container2.Bean1 also differs according to which counters are enabled within each instance. For example, the Num Destroys counter is enabled in Container1.Bean1, but not in Container2.Bean1. Therefore, no report is made to Resource Analyzer on the number of bean objects that were destroyed in Container2.Bean1. If the instrumentation level for the enterprise bean category is set to high, then the counter Avg Method Rt (average method response time) is available to be enabled (because its impact cost rating is medium) in the Enterprise Beans module. When the instrumentation level is set at the module level, the same instrumentation level is automatically invoked for all instances occurring within the module. Because aggregate data is reported at the module level, the average response time on all methods for each instance is reported. However, it is possible to select any single instance and reset the instrumentation level for that specific instance. So, for example, if the value for the instrumentation level for Container2.Bean2 is reset to low, then no report from Container2.Bean2 is included in the aggregate value reported by the Avg Method Rt counter at the module level because the counter's medium impact cost rating is excluded when the instance's instrumentation level is set to low. Detailed information is provided in Rating the impact of performance monitoring. How performance data is accessed and reportedThe Resource Analyzer uses the Performance Manager Infrastructure (PMI) to manipulate the raw data that is collected about the application server. As an application runs, raw data is saved into the application server's memory. The PMI client takes the raw data and completes the complex calculations that change the raw data into meaningful performance statistics. The PMI client removes the overhead of performing these calculations at the application server. This enables a minimum performance impact for data collection on the application server and ensures the optimal efficiency of the running application. Figure 2 shows how the PMI client reports performance data to analytical tools. Figure 2. How the PMI client gathers and reports performance data Figure 2 shows the three types of analytical tools that can access performance data reported by the PMI client:
The application server records the sum, the count, and the sum of the squares (for standard deviation calculations). It also maintains calculations that provide a time-weighted dimension to the statistical data: the time-weighted sum (which is updated each time the counter is changed), the time when the counter was created, the time when the counter was last updated, and the current value of the counter. With this data, the Resource Analyzer can be used to do the following types of analysis:
|
| ||
|