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.
- 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: 15These 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: 1330The 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: 187These 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:
- If cache control is not used, these values show just the caching statistics for schemas.
- If the Cache Control builder and related functionality (for example, the Caching input in the Service Operation and Lookup Table builders) is used, these values are a combination of schema caching information and caching used.
- Example
OutputCacheHits: 304 OutputCacheMisses: 2Because 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: 1These 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
Parent topic: Overview: administration and statistics
- 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.
Library | Support |