We recently launched a new product at work and had to optimize a Java web application hosted in a JBoss application server for performance. The following tools came in rather handy to troubleshoot and analyze the application.
- Java core dump memory analyzer from SAP. This tool is better than the standard run of the mill heap analyzers since it can handle larger core dumps. The tool is available here.
- Messadmin : Session information tool by Cedrik Lime. This tool helps you to analyze the sessions on the application server in real time. We were able to install it on the application server without making any changes in our application, other than adding a couple of listners.. In essence, we copied the jar/war files to the application server and edited our application web.xml file to add the following listners
<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext*.xml,classpath:applicationContext*.xml</param-value> </context-param> <filter> <!-- MessAdmin Servlet Filter --> <filter-name>MessAdminFilter</filter-name> <filter-class>clime.messadmin.filter.MessAdminFilter</filter-class> </filter> <filter-mapping> <filter-name>MessAdminFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <!-- MessAdmin listener --> <listener-class>clime.messadmin.core.MessAdminListener</listener-class> </listener>