| | | Java Performance Tools This page lists a number of tools for measuring the performance of Java applications. Some of them are focused tools for measuring within a single JVM, while others allow you to monitor the performance of an entire application infrastructure, including application and database servers. This chart shows how some of these tools fit into the development life cycle, along with other tools to aid development. You can use these tools to characterize the performance of each computer in your system, and to identify performance bottlenecks. Some of these tools and their uses are described in detail in this white paper on Profiling Java™ applications on HP-UX. | The tools are divided into the following categories: » End-to-end Performance on Multiple Systems » JVM-Focused » System Performance and Tuning » Automated Load Testing | | | | Performance tuning Java™ on HP-UX | | | | | | | | | | | | |  | End-to-end Performance on Multiple Systems |
Wily Introscope | Introscope is a end-to-end Java application monitoring tool that monitors the individual components of a Java or Java web application. It includes remote agents that interface with web servers, application servers, and the HP Java Virtual Machine to collect performance information and consolidate this intelligence onto a centralized monitoring station. The advantages of Introscope are its extremely low intrusion (which means that it does not measurably perturb the performance of the application) and its broad view into a complete n-tier application. Introscope is as much a performance management tool as it is a performance tuning tool. | HP TransactionVision software HP TransactionVision (OVTA) is another top-down performance management tool that lets you see exactly where time is being spent in your n-tier web application. Is your end-to-end performance suffering because of the database? The application server? OVTA helps you figure out what is going on.  | JVM-Focused Tools |  | | These tools collect and/or analyze data from a single JVM-instance. HPjmeter HPjmeter was created by HP to analyze performance data from any standard JVM, though the HP-UX implementation of Java provides more functionality than those from other vendors. The latest revision allows you attache remotely to a running JVM and start and stop measurement on the fly. You can analyze your application for cpu usage, lock contention, excessive exceptions and more. Also new with HPjmeter 3.0 is the ability to set alerts, monitor memory usage dynamically, and interrogate various JVM MBeans for information about the current state of the JVM. HPjmeter has evolved from a tool focused on performance profiling to an all-encompassing JVM monitoring and management console. Features from HPjtune for analyzing Java heap usage have been migrated into HPjmeter. One of the more useful features of HPjmeter is its ability to show you the Java method call stack, so troubleshooting unfamiliar programs is made easier. The current download of HPjmeter (3.0, as of this writing) is packaged as a install package or a single jar file. If you have troubles unpacking and installing the package version, download the jar file and follow the instructions for running the HPjmeter console. On HP-UX, you should always install from the software depot version because in addition to providing the HPjmeter console, it also installs the infrastructure necessary to allow a remote console to attach to an already running JVM. HPjtune HPjtune is a Java Garbage Collection (GC) visualization tool for analyzing garbage collection activity in a Java program. The analysis is carried out off-line or on-line, based on the output of the JVM via the -Xloggc or -Xverbosegc output file. The functionality of HPjtune has largely been migrated into the 3.0 version of HPjmeter, but the standalone version remains available. HPjtune lets you view this data in the following ways: - Several predefined graphs which show the utilization of garbage collector resources and the impact of the garbage collector on application performance.
- User-configurable graphs for access to selected garbage collection metrics.
- Separate predefined graphs for garbage collection behavior pertaining to threads.
HPjtune also includes a unique feature which allows you to use the data collected with the -Xverbosegc option to predict the effect of new garbage collector parameters on future application runs. Samurai Thread Stack Dump Viewer If your program uses threads, and are having either performance or hang issues that you suspect are related to lock contention between threads, you may want to check out the tool Samurai. If you are using SDK 1.3.1 or later, you can also use HPjmeter's lock contention metric to analyse lock contention between threads. This can help you find a contention issue that impacts performance but probably won't be of help in debugging a situation where the JVM hangs due to deadlock.
Quest JProbe Quest's JProbe Suite is a complete solution Java profiler tool used by thousands of companies around the world. JProbe allows you to easily test your applications without any code changes and pinpoint Java or J2EE performance problems down to the line of code. In addition to the officially supported commercial version, Quest has made available a free version of JProbe for profiling Java applications on Windows and Linux. ej-technologies JProfiler JProfiler is an award-winning all-in-one Java profiler. JProfiler's intuitive GUI helps you find performance bottlenecks, pin down memory leaks and resolve threading issues. (Currently only supports HP-UX running on PA-RISC). JVMPI and JVMTI With the Java Virtual Machine Profiler Interface introduced in Java 1.4.2, anyone can write a Java profiling tool. A web search for "Java performance tools" will turn up a wealth of open source or freeware tools implemented using JVMPI. Java 1.5 deprecates JVMPI in favor of the JVM Tool Interface. Java 1.5 also includes an MBean management interface that can be accessed with the included jconsole command.  | System Performance and Tuning Tools |  |
HP GlancePlus software HP GlancePlus software
is a system performance monitoring tool that provides numerous views into a system's performance. It tracks CPU, memory, disk, and network resources. You can view all the metrics in customizable graphical displays and set up alarms for application response measurement. You can drill into a single process for CPU, memory utilization, and even system call metrics. With GlancePlus you can easily examine system activities using rule-based metrics. This allows you to tailor system performance rules and characterize each computer in the system to identify and resolve performance bottlenecks. You can see, try or buy HP GlancePlus software product from their website. The following tutorials tell you how to use Glance to analyze the performance of each computer in your system: HPjconfig HPjconfig is a configuration tool for tuning your HP-UX 11.0 or HP-UX 11i system kernel parameters to match the characteristics of your application. HPjconfig recommends kernel parameters tailored to your Java enterprise services (web server, application server, etc.) and HP-UX hardware platform. HPjconfig version 2.1 displays data for Java releases 1.2.2.x, 1.3.x, and 1.4.x. Version 3.0 displays data for Java releases 1.3.1.x, 1.4.x, and 5.0.x. (Java 1.2.2.x will not supported.)  | Automated Load Testing Tools |  | Mercury LoadRunner Mercury LoadRunner is one of the best known and most widely used automated testing tools. With LoadRunner web testing software, you can measure end-to-end performance, diagnose application and system bottlenecks, and tune for better performance - all from a single point of control. It supports a wide range of enterprise environments, including Web Services, J2EE, and .NET. Apache JMeter |