Using a Tomcat ‘Monitor Test Plan’ for Performance Profiling
In my last Integration of Server Resource Monitoring with JMeter Plugins I mentioned adding a Tomcat Monitor Test Plan to an existing performance test, as a supplement to the Server Resource Monitoring plugins. The intent is to provide visibility into the health and load on a Tomcat server during a performance test. When used properly, a Monitor Test Plan allows us to see the relationship between server performance and response time on the client side. Remember, in a web based application such as SAP BI Platform or SAP BusinessObjects Enterprise, the application server is king, a critical component in the quality of the end user experience.
The JMeter monitor component was designed to work with the status servlet in Tomcat 5. I have tested it successfully with Tomcat 5.5 and Tomcat 6. While the monitor provides information at the server instance level, that is, the entire JVM that Tomcat runs inside, it should be possible to get thread information as well, by modifying the code to retrieve the correct MBeans. I would be interested to hear if anyone pursues that route as the results would be quite compelling.
In this example, I will add a monitor to an existing performance test, in this case a test called ‘BI Launch Pad Navigation’ I’m using to run some benchmarks against SAP BI Platform 4.0. The steps below will reference XI 4.0 paths, but the steps are equally applicable for XI 3.1.
In order to leverage the Tomcat monitor, we’ll first need to configure the Tomcat Manager webapp, and create a Tomcat user with the role “manager”. You can configure such a user as follows:
- Uncomment the section:
</pre><pre><tomcat-users></pre><pre> <role rolename=”tomcat”/><br /> <role rolename=”role1″/><br /> <user username=”tomcat” password=”tomcat” roles=”tomcat”/><br /> <user username=”both” password=”tomcat” roles=”tomcat,role1″/><br /> <user username=”role1″ password=”tomcat” roles=”role1″/></pre><pre></tomcat-users></pre><pre>>