Debugging performance problems in WebSphere Portal is really difficult. Lets one of your page is taking long time to render that page has 3 portlets. How do you find out which portlet is creating problem. The WebSphere Application Server provides way to find out how much time does portlet take to process action, render or resource request. By default these metrics are disabled but you can enable them by following these steps.
- Log Into the WebSphere Application Server Admin Console.
- Go to Monitoring and Tunning -> Performance Monitoring Infrastructure page. Check if "Enable Performance Monitoring Infrastructure " is checked or not. If not check it and restart server.
- Once the Performance monitoring is enabled, next step would be to enable portlet specific metrics. So Select the Custom radio button on Performance Monitoring Infrastructure page and click on Custom link. It will take you to the Custom Monitoring Level page.
Switch to runtime tab so that the changes that you make become effective immediately. Click On WebSphere Portal ->Web Applications. It will show you quite few metrics that are available at web application level. Select the Portlet related metrics and click on Enable button. You can disable everything else. At end filter records to check what all metrics are enabled. You should see all portlet related metrics in the list like this
- Now lets enable the portlet metrics only for the portlets on your test page.
- On the WAS Admin Console go to Monitoring and Tuning -> Performance Viewer -> Current Activity. Select the WebSphere Portal. You should see the current performance metrics.
- Click on Performance Modules -> Web Application. It will list out all the .war files installed on your portlet. Only the portlets that you have accessed so far would be enabled. Select the war files that your interested in expand it, it should list out all the portlets in that application. Select the one that your intereste in. I am selecting XHRSample portlet
- Similar select portlet metrics for other portlets on that page.
- Once portlet related metrics are enable go to portal page and hit it few times or may be you can run your load test.
- Now comeback to WAS Admin Console click on Current activity and you should see the performance data like this.
Take a look at Exploiting the WebSphere Application Server V6.1 portlet container for more information on Enabling Portlet PMI.