X

Best Practices from Oracle Development's A‑Team

Monitor Performance with Enterprise Manager for WebCenter Portal

Introduction

Its not an easy task of explaining the response time when load testing or profiling an enterprise portal, however Oracle WebCenter has made some efforts in making this task simpler. Today most developers and system administrators are using Enterprise manager to control and manage the configuration of the portal, however one part that Enterprise Manager also offers is WebCenter Portal monitoring. The WebCenter Product team has purposely build functionality that will enable the administrator/developer to monitoring the portal operation from a more detailed view. This post will go in to depth on useful monitoring features.

Before we continue this post I like to clarify few limitations that is important to keep in mind:

  • Enterprise Manager recordings is only scoped to be available from start of the managed server, each restart will reset the data
  • Overlay functionality only enables to one overlay
  • The Average response time is from the start of the managed server and some services offers Recent History (this period is 10 - 15 minutes)

Main Article

Basic Monitoring

From below example you can monitor following Active Sessions, Number of Requests per Minute, Average Request Response Time
To get to this screen you simply

  1. Login into http://{host}:7001/em
  2. Navigate to the Deployed WebCenter Portal Application
  3. Select Application Deployment/Performance Summary

MonitorPerf_1

The above graphs presented is by default the 3 first graphs presented when just visiting the application Performance Summary, later on in this post I will discuss options of enable further monitoring.

First of all, the screen dump example that is presented above is using the Overlay function where I can monitor more than one application/managed server for each monitored matrix, therefore the current diagram present managed server 1 and manged server 2 for the current application in this example. The overlay function can be found at the top of the diagram view, the overlay will allow you to include one overlay of any application hosted in your domain including the individuals of the cluster. This function is very convenient for monitoring load balancing consistency, and matrix differences between the nodes.

The first graph display the total amount of Active Sessions, remember that this includes all sessions that is currently not invalidated, so even though the browser/connection is closed the session will be an active session until it has timed out. One way to keep this number lower is to commit a correct logout operation from the browser. So if you are sure that the users will manually logout before leaving the browser/connection the load test script can simulate a logout. However for public sites where no login is required this session count will increase for each opened browser/connection. The best approach to mitigate overload of the server is to shorten the session timeout to the minimum, for instance 10 minutes. The example above also tells us based on the active sessions count that the load balancing is even between the nodes, since the session count is similar between the nodes.

The second and third graph displays the current average response time and requests per minute for each individual application node in the cluster. This reporting can be useful to get an understanding on the current load (actual activity) and the response at that activity. One other useful analysis possible with setup is to identify when the request per minute impacts the response time, however do remember longer response time is not always due to increased load, it can also be due to what is requested for. For instance a simple content page is always faster than a complex page where several database/web services is included in the request time. Further down in this post I discuss how to monitor individual pages and its response time/requests per minute.

ADF Environment Monitoring

Since WebCenter Portal is based on ADF application framework it is very useful to understand how the ADF engine is operating, I usually look for following metric data: ADF Authentication, Internal DCAM and Taskflows.
To get to this screen you simply

  1. Select Application Deployment/Performance Summary
  2. Click on Show Metric Palette
  3. Navigate to ADF Application Module Pools
  4. Include following metrics: Active Instances, Available Instances, Instances Created per Minute, Instances Removed per Minute

MonitorPerf_2

The most important graph in the above image is the Internal DCAM's Active Instances, this reports how many active Internal DCAM pool objects that is currently used. The internal DCAM pool is used in ADF to manage each taskflow instantiated, in a typical WebCenter Portal Taskflow like Content Presenter has unfortunately no natural end and will therefore occupy the pool with one instance for each loaded taskflow. This pool instance will be available for collection as soon as the session invalidates. Therefore there is a clear relationship between the Active Sessions, Taskflow Count and the Active Instances. Most suitable situation is to have shorter session since all pool instances will be eligible for collection sooner and will limit the pool max size.

Second important graph in the image above is  Internal DCAM's Instances Removed per Minute, this metric indicates the invalidation rate of the pool object, the relationship to the DCAM pool object is either when the taskflow calls "Taskflow Return" operation or when the calling session invalidates plus the pool objects time to to live.

By default the max pool size is 5000, remember this is per instance so if you have 4 instances of your portal application your maximum will 20000. When calculating the max size you should take into account not only the amount taskflows, but also average session time, average taskflow's visited per session and how many servers you distribute the load over, however do not forget when clustering WebCenter you should enable sticky session.

For more information on how to configure Application Module Pools see: http://docs.oracle.com/cd/E23943_01/web.1111/b31974/bcampool.htm#ADFFD1347

Observation, the image above is an indication that something is not good since your active pool is growing fast and the removal is minimal, if above scenario continues the application on the particular managed server will be exhausted. However after the time to live the application will recover.

Individual Page Monitoring

Another very useful function is that WebCenter Portal allows you to drill down into details of individual pages performance and load. Each page accessed since managed server that was accessed will be present in the Metric Palette.
To get to this screen you simply

  1. Select Application Deployment/Performance Summary
  2. Click on Show Metric Palette
  3. Navigate to WebCenter/WebCenter Pages or WebCenter/WebCenter Pages (Top 5)
  4. Include any page of interest you can monitor Request per Minute as well as Response times

MonitorPerf_3

The image above represents an individual page response time as well as the Invocations per Minute for the selected page. By using this feature you easily identify pages that has better or worse response time, most of the time this information will be enough for the developer to analyze any poor performance on the site. This feature also support the Overlay function used in previous examples.

Detailed Monitoring

Another very useful monitoring option that is available is to monitor selected services from WebCenter Services including Search, Content Repositories, People Connection and Portlet Producers. In this section I will demonstrate the monitoring that can be done for the Content Repositories.
To get to this screen you simply

  1. Select Application Deployment/WebCenter/Service Metrics
  2. Click on Content Repositories

MonitorPerf_4

The Services Metrics is a tailored Dashboard that enables us to monitor specific services from a much more detailed view. It also allows us to look into snapshot of time by leveraging the Recent History that you can see in the bottom table of the image. The "Since Startup" and "Recent History" allows us to view different aspects of the service, in this case we can monitor Update, Searches, Logins, Deletes, List Folders and Get Items. In the current sample we only see data for the Get Items since the Content Presenter used in this example directly leverages Get Items. One other observation we can see is that the overall average time for the Content Repository Service is poor (reporting an average response time over 3600 ms), whereas the Recent History reports a much better result of 18.5 ms.

Conclusion

Using monitoring from EM will not only help you report actual performance it will also support you in finding bottlenecks and potential improvements. These features demonstrated are available to you in a WebCenter 11gR1PS4 out of the box domain, service and page metrics will be available when the service is configured and used by the implementation and the first user request has been recorded. Good luck with exploring your Enterprise Manager environment, there are several other areas of monitoring available, this post has focused on WebCenter monitoring.

 

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha

Recent Content