In my recent project we did performance tuning
of a java application. I used below tools to identify the performance bottlenecks.
The application was a distributed web application, developed using IceFaces ,
EJB 3, JPA 2. I found the tools very effective in identifying root cause
of the problem , specially AppDynamics was very useful.
ü AppDynamics – Application
Performance Monitoring tool(APM ).
ü Jconsole -
Monitoring tool to monitor JVM
ü Eclipse Memory Analyzer – Tool for Java
Heap Analyzer
ü Oracle Enterprise Manager – for database
tuning.
AppDynamics is the next-generation application performance management solution. AppDynamics is available
as AppDynamics Lite (Free) or AppDynamics Pro (Commercial).
AppDynamics Lite has 2 Components
AppDynamics Lite Application Server Agent
AppDynamics Lite Viewer
AppDynamics Lite Application Server Agent
The AppDynamics Application Server Agent collects
performance data overall and diagnostic data and sends it to the AppDynamics
Lite Viewer where you can monitor the health of each Business Transaction from
a single easy-to-use dashboard. You can drill down into all Business
Transactions to troubleshoot code hot spots, exception stack traces, and SQL
queries.
AppDynamics Lite Viewers
The Viewer stores and analyzes application
performance data about a single JVM or CLR, using data collected by the Agent.
You install the Viewer on the same machine as the application server or Java
process that you want to monitor. The Viewer requires very little disk space
and memory, and you can open multiple Viewers on multiple application servers
running on the same machine. The Viewer is a browser-based Flash application
that runs on commonly-used computer systems.
AppDynamics Lite download comes as zip named
AppDynamicsLite.zip. After extracting the zip you get two zip files,
LiteViewer.zip for the Viewer and AppServerAgentLite.zip for the Agent.
Install the Viewer
• Extract the LiteViewer.zip file.
• From the viewer directory run the below command
java –jar adlite-viewer.jar
• By default it will run on port 8990. If you do not
want the Viewer to be installed at the default port, you can change the port
number using the -Dadlite.port command option.
java
-Dadlite.port= -jar adlite-viewer.jar
• Install the Application Server Agent
• Extract the AppServerAgentLite.zip on the same file system as
the app server.
• Open the startWebLogic.cmd file or startWebLogic.sh
in case of Linux environment
• Add below javaagent argument to the beginning of
your application server start script.
For
Windows
Set
JAVA_OPTIONS=% JAVA_OPTIONS%
-javaagent:"Drive:\agent_install_dir\javaagent.jar"
For Linux
Set
JAVA_OPTIONS=% JAVA_OPTIONS%
-javaagent:"Drive:\agent_install_dir\javaagent.jar"
• Restart the application server. The application
server must be restarted for the changes to take effect.