Portlet Factory, Version 6.1.2


 

Server statistics and performance analysis

Use the statistics described in this topic to analyze the performance of your IBM® WebSphere Portlet Factory application.

As a server runs, statistics are recorded in a log file in the deployed WAR file, WEB-INF/logs/serverStats.txt. Every snapshot interval (the default is five minutes), statistics are logged about requests to the WebSphere Portlet Factory application. This information can provide valuable data about the health and performance of the application.

 

Key server statistics

The following are some key things to look for in server statistics to help analyze application performance.

Sessions

If the application runs standalone (that is, as a servlet), this entry shows the number of WebSphere Portlet Factory user sessions in memory for this web application when the log entry was written.

If the application runs as a portlet in IBM WebSphere Portal server, this entry is the number of portlet sessions, because each portlet has its own session data. To find the number of user sessions, divide the number of portlet sessions by the number of portlets in use.

Note: In some situations, the sessions count can be incorrect. For example, if the application runs in a cluster with failover enabled, the count may be incorrect.

Example

Sessions: 3

If the application runs as a portlet, there are three application sessions in memory. If the application runs as a servlet, there are three user sessions active in this web application.

If the application runs as a widget, there are three application sessions in memory.

Indications

This number gives a picture of how many applications are in memory at the end of the snapshot interval. You can also get an approximation of how many user sessions are in memory, as described above.

This number has one of the following meanings:

  • If the application runs locally, this entry shows the number of widget user sessions in memory for this web application when the log entry was written.

  • If the application runs on a IBM Lotus® Mashups server, this entry is the number of widget sessions, because each widget has its own session data. To find the number of user sessions, divide the number of widget sessions by the number of widgets in use.

Note: In some situations, the sessions count can be incorrect. For example, if the application runs in a cluster with failover enabled, the count may be incorrect.

Regens

RegensFromCache

The number of times a model was first requested for a session. It is not the number of actual regens (regenerations), because most regens get the result of a regen from cache. RegensFromCache shows how many of the total Regens were available from the regen cache. To find the number of actual number of regens, subtract the RegensFromCache number from the Regens number.

Example

Regens: 21 RegensFromCache: 15

These lines show that 21 new requests for models were made. 15 of the requests were taken from cache; there were 6 actual regens during the snapshot interval.

Indications

The RegensFromCache number should be close to the Regens number. If there are many more Regens than RegensFromCache, an excessive number of regens is occurring.

MemTotal

MemFree

MemInUse

These values show information about the Java heap when the log entry was written.

MemTotal

The total heap size (in bytes) reported by Runtime.getRuntime().totalMemory()

MemFree

The amount of free memory reported by Runtime.getRuntime().freeMemory()

MemInUse

MemTotal minus MemFree

Example

MemTotal: 759495168 MemFree: 111456936 MemInUse: 648038232

Indications

If MemFree becomes low, there is insufficient memory for the application and probably a high level of garbage collection.

Note: For more detailed heap-use information, use the verbose GC feature of the JVM of the application server.

ErrorsLogged

SevereErrorsLogged

WarningsLogged

The number of errors or warnings in the WebSphere Portlet Factory application that were reported during the snapshot interval.

Example

ErrorsLogged: 0 SevereErrorsLogged: 0 WarningsLogged: 0

Indications

Look for any errors or severe errors. These types of errors can indicate application problems and should be investigated. The error details are logged in the event.log file in the same logs folder as serverStats.txt.

WebAppRequests

Information about all top-level requests to WebSphere Portlet Factory models. The log includes the number of requests and the average latency in milliseconds for those requests. The log entries include a total for all requests, and a breakdown for each model and each top-level action in the model.

Indications

Look for long latency times. If latencies occur, see what model and action they are associated with. You can get system traces for those models and actions, and see what part of the execution is taking excessive time.

WebAppSOAPRequests

Information about all top-level requests to WebSphere Portlet Factory models for SOAP requests (if a model is being used as a WSDL web service provider). The log includes the number of requests and the average latency in milliseconds for those requests. The log entries include a total for all requests, and a breakdown for each model and each top-level action in the model.

Example

WebAppRequests: 19 Latency: 772 WebAppRequests/employees_demo/portlets/Summary: 6 Latency: 720 WebAppRequests/employees_demo/portlets/Summary/_bowstreet_show_current_page: 4 Latency: 1077 WebAppRequests/employees_demo/portlets/Summary/_gen_call_pbAction_EmployeeDetail: 2 Latency: 7 WebAppRequests/employees_demo/portlets/EmployeeDepartmentsSummary: 1 Latency: 1593 WebAppRequests/employees_demo/portlets/EmployeeDepartmentsSummary/_bowstreet_show_current_page: 1 Latency: 1593 WebAppRequests/employees_demo/portlets/Detail: 6 Latency: 130 WebAppRequests/employees_demo/portlets/Detail/_bowstreet_show_current_page: 4 Latency: 148 WebAppRequests/employees_demo/portlets/Detail/EmployeeDetail: 2 Latency: 94 WebAppRequests/employees_demo/portlets/EmployeePortlet: 6 Latency: 1330 WebAppRequests/employees_demo/portlets/EmployeePortlet/_bowstreet_show_current_page: 6 Latency: 1330

The log entries show that there were a total of 19 requests to WebSphere Portlet Factory. The average latency for all widget requests was 772 milliseconds.

The entry lines following WebAppRequests show the numbers for each model, and for each top-level action within a model. You can see that the 19 total requests are broken down by model, with 6 for the Summary model, 1 for EmployeeDepartmentsSummary, 6 for Detail, and 6 for EmployeePortlet.

For each model, you can see what top-level actions were called. The render requests in WebSphere Portal server show up with an action of _bowstreet_show_current_page.

Indications

Look for long latency times. If latencies occur, see what model and action they are associated with. You can get system traces for those models and actions, and see what part of the execution is taking excessive time.

DominoViewRequests

SAPFunctionCalls

SqlDataSource

SqlStatement

SqlTransformToXml

ContentModelFindDocuments

ContentModelGetDocument

These entries are used to track information about calls to external systems, for SAP, IBM Lotus Domino®, WebSphere Portal Document Manager, and SQL (relational database).

Similar to WebAppRequests, these entries show a breakdown for different instances of servers, and latency on the server. The latency is the average for the number of requests in milliseconds.

Note: The SQL statistics are not logged by default. To enable them, select the Log Server Stats option in the SQL Call builder.

Example

DominoViewRequests: 7 Latency: 187 DominoViewRequests/localhost:80: 7 Latency: 187 DominoViewRequests/localhost:80/DominoTutorialEmployees.nsf: 7 Latency: 187

These lines show that there were 7 calls made to get data from Domino. The average latency for those calls was 187 milliseconds. In this example, all Domino data came from the same server (localhost:80), and from the same Domino database (DominoTutorialEmployees.nsf).

Indications

Look for long latency times or an excessive number of calls.

 

Other server statistics

The following entries are described for reference and are often less useful than the key server statistics.

RestoredSessions

The number of times that sessions were restored from a failover. This value is zero unless failover is enabled and there have been actual failover events (where it was necessary to reconstruct a session from one machine on another machine).

Example

RestoredSessions: 0

ModelCacheRegenEntries

The number of entries currently in the regen cache of the server application. The default cache size is 2000, set with the following property in bowstreet.properties: bowstreet.cache.model.size=2000

Example

ModelCacheRegenEntries: 7

This line indicates that there are 7 entries in the regen cache. If multiple profiles are in use, there is an entry for each profile.

OutputCacheHits

OutputCacheMisses

These values show one of the following:

Example

OutputCacheHits: 304 OutputCacheMisses: 2

Because cache control was not being used in this example, these values show that there were 306 times when a schema was requested from source, and all but two of those came from cache.

PeakSessions

This value is usually the same as the Sessions statistic.

Example

PeakSessions:3

ParallelModelRequests

This value shows information related to the number of times portlets are loaded simultaneously.

Example

ParallelModelRequests: 0

WebAppMethodClassWritten

WebAppJSPSourceWritten

These values show the number of times that Java source files and JSP files were written to disk. Java and JSP files generated by WebSphere Portlet Factory are written to disk only when needed, and are not written if the current file on disk matches the requested or generated file contents.

Example

WebAppMethodClassWritten: 1 WebAppJSPSourceWritten: 1

These lines show that during the snapshot interval, one Java class was written and compiled, and one JSP file was written and compiled.

ProfileSet cache hits

ProfileSet cache misses

Profile cache hits

Profile cache misses

Profile Set cache hits

Profile Set cache misses

These entries show information about cache hits and misses in the WebSphere Portlet Factory profiling system. Normally these values show a very good ratio of hits to misses, unless profile values are being updated very frequently.

Example

ProfileSet cache hits: 0 ProfileSet cache misses: 0 Profile cache hits: 6 Profile cache misses: 1 Profile Set cache hits: 18 Profile Set cache misses: 0

 

Sample

The following sample shows entries from a serverStats.txt log.

*-- TIME: [2007-07-19 11:07:48,641] --*  Category: bowstreet.system.server.logging.serverStats.default Priority: INFO Thread:   ServerStatsThread Msg:      Sessions: 3 RestoredSessions: 0 ModelCacheRegenEntries: 7 Regens: 21 RegensFromCache: 15 OutputCacheHits: 304 OutputCacheMisses: 2 MemTotal: 759495168 MemFree: 111456936 MemInUse: 648038232 ErrorsLogged: 0 SevereErrorsLogged: 0 WarningsLogged: 0 PeakSessions: 3 ParallelModelRequests: 0 WebAppRequests: 19 Latency: 772 WebAppRequests/employees_demo/portlets/Summary: 6 Latency: 720 WebAppRequests/employees_demo/portlets/Summary/_bowstreet_show_current_page: 4 Latency: 1077 WebAppRequests/employees_demo/portlets/Summary/_gen_call_pbAction_EmployeeDetail: 2 Latency: 7 WebAppRequests/employees_demo/portlets/EmployeeDepartmentsSummary: 1 Latency: 1593 WebAppRequests/employees_demo/portlets/EmployeeDepartmentsSummary/_bowstreet_show_current_page: 1 Latency: 1593 WebAppRequests/employees_demo/portlets/Detail: 6 Latency: 130 WebAppRequests/employees_demo/portlets/Detail/_bowstreet_show_current_page: 4 Latency: 148 WebAppRequests/employees_demo/portlets/Detail/EmployeeDetail: 2 Latency: 94 WebAppRequests/employees_demo/portlets/EmployeePortlet: 6 Latency: 1330 WebAppRequests/employees_demo/portlets/EmployeePortlet/_bowstreet_show_current_page: 6 Latency: 1330 WebAppSOAPRequests: 0 WebAppMethodClassWritten: 1 WebAppJSPSourceWritten: 1 WebAppsInstantiated: 15 ProfileSet cache hits: 0 ProfileSet cache misses: 0 Profile cache hits: 6 Profile cache misses: 1 Profile Set cache hits: 18 Profile Set cache misses: 0 SAPFunctionCalls: 0 ContentModelFindDocuments: 0 ContentModelGetDocument: 0 DominoViewRequests: 7 Latency: 187 DominoViewRequests/localhost:80: 7 Latency: 187 DominoViewRequests/localhost:80/DominoTutorialEmployees.nsf: 7 Latency: 187

  • Starting builder call timing tracing

    To analyze the time that builder calls take during regeneration, you can start builder call timing tracing.

  • Properties

    The properties provide information on the semaphore timeout interval, ports, file uploading, output caching, and model caching.

  • Models/Methods status

    The Models/Methods section of the Statistics screen presents information that can be used to judge the activity level of IBM WebSphere Portlet Factory and its efficiency in delivering models to users.

Parent topic: Overview: administration and statistics


Library | Support |