Skip Headers

Oracle® Application Server 10g Performance Guide
10g (9.0.4)
Part No. B10379-01
  Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Previous Next  

4 Monitoring OC4J

This chapter discusses how to monitor the performance of Oracle Application Server Containers for J2EE (OC4J). Obtaining performance data can assist you in tuning Oracle Application Server or in tuning and debugging applications with performance problems.

This chapter contains the following topics:

Monitoring OC4J With Application Server Control

Using Application Server Control, you can view information on the performance characteristics of OC4J instances, J2EE applications, and Oracle Application Server components running under OC4J. This section covers the following:

Monitoring OC4J Instances With Application Server Control

Before analyzing OC4J performance, make sure that your OC4J instance is running. Figure 4-1 shows Application Server Control with the OC4J instance homepage. This page shows the status for a selected OC4J instance (the Up under the heading General indicates the OC4J instance is running).

Figure 4-1 Application Server Control OC4J Instance Display

Description of em_oc4j_top.gif follows
Description of the illustration em_oc4j_top.gif


Note:

Application Server Control does not provide information on OC4J JMS. Use the built-in performance metrics to obtain information on OC4J JMS.

General

The Application Server Control OC4J General information provides information on up and down status for the OC4J instance, its start time, and information on the virtual machine where the OC4J instance is running. This area also presents buttons that allow you to stop or restart the OC4J instance.

JDBC Usage

The Application Server Control OC4J JDBC Usage information shows the number of open JDBC connections, the total number of JDBC connections, the number of active transactions, and the total number of transaction commits and transaction rollbacks for the OC4J instance.

Status

The Application Server Control OC4J Status information shows the CPU usage, memory usage, and heap usage for the OC4J instance.

Response for Servlets and JSPs

The Application Server Control OC4J Response information for Servlets and JSPs shows the number of active sessions, the active requests, the average request processing time, and the requests processed per second for active requests.The value shown for requests processed per second is a rate that is calculated using the requests processed over the previous 5 minutes.

Response for EJBs

The Application Server Control OC4J Response information for EJBs shows the number of active EJB methods and the EJB method execution rate. The EJB method execution rate provides the number of methods executed per second over the previous 5 minutes.


Note:

Application Server Control automatically collects a subset of metrics approximately every five minutes. The rates shown in the Application Server Control display are computed over the period that spans from the most recent collection to the refresh of the Application Server Control display.

Monitoring J2EE Applications with Application Server Control

After you know that the OC4J instances that contain your J2EE applications are running, check the status for your applications. If your J2EE applications are not loaded, then deploy them and then try accessing the applications to make sure that they work properly. Figure 4-2 shows an Application Server Control page for the FAQApp sample application.

Figure 4-2 Application Server Control J2EE Application Metrics

Description of em_petsapp.gif follows
Description of the illustration em_petsapp.gif

Figure 4-2 shows the available Application Server Control J2EE application level performance data collected in the following categories:

General

The Application Server Control J2EE application General information provides an indication of whether the application is loaded or not in the status field, and shows if the Auto Start status is true or false. The Parent Application field provides a link to the application parent. This area also presents buttons that allow you to Redeploy or Undeploy the application.

Response for Servlets and JSPs

The Application Server Control J2EE application Response information for Servlets and JSPs shows the number of active sessions, the active requests, the average request processing time, and the requests processed per second, over the previous 5 minutes, for active requests for the application. For more detail on this information or to drill down to specific Servlets and JSPs, use the links in the Web Modules table.

Response for EJBs

The Application Server Control J2EE application Response information for EJBs shows the number of active EJB methods and the EJB method execution rate over the previous 5 minutes.

For more detail on this information or to drill down to specific Servlets and JSPs, use the links in the EJB Modules table.


Note:

Application Server Control automatically collects a subset of metrics approximately every five minutes. The rates shown in the Application Server Control display are computed over the period that spans from the most recent collection to the refresh of the Application Server Control display.

Web Module Table

The Web Modules table allows you to obtain more detailed information for Servlets and JSPs within a J2EE application.

Figure 4-3 shows the details for the FAQApp application’s Web Module, including General information, Response and Load information, and a table showing data values for each of the Servlets and JSPs that are part of the application.

Figure 4-3 Application Server Control J2EE Application Web Module Metrics

Description of em_petwebmodule.gif follows
Description of the illustration em_petwebmodule.gif

EJB Modules Table

The EJB Modules tables allow you to obtain more detailed information on EJB modules and EJBs within the J2EE application.

Figure 4-4 shows a sample FAQApp EJB Module page.

Figure 4-4 Application Server Control EJB Module Page

Description of em_ejbmodule.gif follows
Description of the illustration em_ejbmodule.gif

Monitoring OC4J With Built-in Performance Metrics

You can use the Oracle Application Server built-in performance metrics to analyze OC4J and J2EE application performance. Before you attempt to monitor OC4J performance, verify that the OC4J instance named home that is installed by default with Oracle Application Server is running by accessing the following URL:

http://myhost:port/j2ee/

The value for myhost should be the host where OC4J is installed. The port must be the port number on which Oracle HTTP Server listens, as configured in the Oracle HTTP Server httpd.conf file.

Be sure to include the trailing slash (/) in the URL, otherwise the page cannot be found on the system. If your default Web site has been mapped to something other than the default location /j2ee/, then you should access the location configured on your system.

If the default OC4J instance is running, then accessing this URL displays the Welcome page for Oracle Application Server Containers for J2EE (OC4J). From the OC4J Welcome page you can access the samples for JSPs and servlets. If you do not have active J2EE applications that you want to monitor, you can test the monitoring facilities using your browser to request sample servlet-generated or JSP-generated Web pages.

For example, use the following URLs:

http://myhost:myport/j2ee/servlet/SnoopServlet
http://myhost:myport/j2ee/servlet/HelloWorldServlet

Then, use AggreSpy or dmstool to see the values of metrics for the built-in performance metrics.

For example, to use AggreSpy, enter the following URL in your Web browser:

http://myhost:myport/dms0/AggreSpy

The resulting display from the AggreSpy provides a list of metric tables in the left-hand pane that can be selected to display performance metrics for OC4J and Oracle Application Server components. Alternatively, you can use dmstool on the command line or in scripts that you write to display performance metrics.

Note the following when you are monitoring OC4J built-in metrics: