| By Rob Halleron | Article Rating: |
|
| August 5, 2004 12:00 AM EDT | Reads: |
19,749 |
Sometimes as J2EE application developers we feel like we are in a darkened room. We know that something is wrong with our application, but we have no idea where the problem is. Application performance management (APM) tools, such as VERITAS i3 for J2EE, has helped us "turn on the lights" by enabling us to see exactly where in the application our problem really is. Once we identified the problem, it all flowed from there, as we could look at how the problem affected our application from end to end and make the right decisions on how to fix the problem. VERITAS i3 APM software is the only solution we found that provides such end-to-end application visibility.
VERITAS i3 for J2EE
Application performance management is a continuous process that detects past, current, and future potential application bottlenecks. It finds where the problem resides by drilling down into the application tiers to find the problem's root cause, and it improves application and end-user productivity by helping IT staff to fix problems proactively, before end users are affected. Key parts of the VERITAS i3 software suite are VERITAS Inform, which provides alerts and reports; VERITAS Insight, which tells you where an application bottleneck is; and VERITAS Indepth, which tells you how to solve the problem.

VERITAS i3 for J2EE can quickly, efficiently, and unobtrusively capture the metrics necessary to appropriately tune J2EE-based applications. It presents these important metrics in a manner that enables crisp communication, rapid detection, correction, and verification throughout the application's life cycle.
Installing and Using VERITAS i3
VERITAS i3 for J2EE loads from CDs. We struggled a bit trying to install and configure agents on each tier of the application and then setting up a central "performance warehouse." Perhaps this was caused by the fact that our application is hosted by another group within our parent company. However, the rest of our experience was, and remains, fantastic. We began using VERITAS i3 to test our GENIE holiday (vacation) booking system, and now use it in deployment. The chief thing it does is tell us when we are not meeting desired service levels - such as the time it takes to serve page content.
VERITAS i3 for J2EE provides great visibility into application performance problems through a GUI that lets you drill down from an alert to where the problem lies. For example, it understands response time contributions from Java servlets, JSP, EJBs, JMS, JNDI, JDBC, and XML. It correlates activity across Web, multiple JVMs, and DB servers. It also has a SmarTune feature that gives you great advice on how to fix the problem.
For example, a third party wrote part of our application that served up static content about cruise holidays. These pages should have been delivered fast, since they can be stored in cache memory. Using VERITAS i3 we found the problem was that the application was making a database call for each statement asking for content. The product allowed us to find and fix that problem quickly. In another instance, we were able to identify poorly performing SQL statements, including one particular query that was running at 0.5 of a second but was occupying one entire processor. We were able to tune this query down to 0.08 of a second.
Starting at the Insight screen in Figure 1, there is an overview of the three layers to the system: Web, application, and database servers. From the graph on the left, most of the time is spent in the J2EE layer. We could investigate that further by choosing the J2EE option on the top menu.
In Figure 2, the method invocation graph appears to show two high usage items but these are part of struts and so will normally be high. However, the third item is the logon process and should be quick, so this could be investigated further. The JVM etailJVM6 is also more heavily loaded than the others, which may indicate a balance problem.
Clicking on the third item in the method invocations graphs gives more details (see Figure 3).
Clicking on the top item in the list digs into that particular call to reveal these sub calls (see Figure 4). Most of the time is spent local to the routine com.tuiuk.etail.channel.shop.agentlogon.servlet.AgentLogonServlet.service. A developer can now investigate why it is using up the majority of the response time.
If we take a step back to Figure 1, we can investigate the top Oracle statement in the graph. Clicking on the top item in the bar graph and then the Oracle tab in the top menu bar takes us to the screen in Figure 5.
We can now launch Indepth for Oracle to determine what the statement is. As you can see in Figure 6, this is a very large INSERT statement that is part of our content-refresh process, so it's not unreasonable for it to take a while to process; nothing to worry about there.
Summary
VERITAS i3 for J2EE is an excellent tool to diagnose and fix J2EE appli-cation-performance issues at any point in the application life cycle. Its ability to drill down and find the root cause of your performance issue is superb. If you need end-to-end visibility into your application, this is the ideal solution.
SIDEBAR
JDJ Product Snapshot
Target Audience: Java application architects/developers and application managers
Level: Beginner to advanced
Pros:
Con:
SIDEBAR 2
VERITAS Software Corporation
350 Ellis Street
Mountain View, CA 94043
Phone: 800 327-2232
650 527-8000 (outside U.S.)
Web: www.veritas.com
Specifications
Application Servers: BEA WebLogic Server 5.1, 6.0, 6.1 ,7.0, 8, 8.1; IBM WebSphere 3.5.x, 4.x, 5.x; Oracle 9iAS 9.0.2, 9.0.3; Tomcat 3.x, 4.x; Macromedia JRun 3.x; Sun Java Enterprise System
Operating Systems: Sun Solaris 2.6, 7, 8, 9; IBM AIX 4.3.3, 5.1, 5.2; HP-UX 11.0,11i; Windows NT SP6a, 2000 SP3; Linux Red Hat 7.2, 8 Advanced Server 2.1; SuSE Linux 8.0, Linux S/390
Pricing: Based on number of processors and server class.
Test Environment
Sun Servers (two Web servers: 2 CPU Sun Enterprise 280R; two application servers: 4 CPU Sun V480; database server: F15K 6 CPU domain) running the Solaris 8 operating system
Published August 5, 2004 Reads 19,749
Copyright © 2004 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Rob Halleron
Rob Halleron has been a technical architect with Lunn Poly for the past nine years. He was involved with the definition and deployment of its J2EE-and Oracle-based GENIE holiday booking application. Lunn Poly is a leisure travel retailer in the UK with more than 750 retail stores.
- Patterns for Building High Performance Applications
- It's the Java vs. C++ Shootout Revisited!
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Review: Sams Teach Yourself Java in 24 Hours
- OpenOffice.com Lives
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- Patterns for Building High Performance Applications
- It's the Java vs. C++ Shootout Revisited!
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?




















