Welcome!

Java Authors: App Man, Liz McMillan, Jeremy Geelan, Yakov Fain, Hari Gottipati

Related Topics: Java

Java: Article

VERITAS I3 for J2EE

VERITAS I3 for J2EE

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:

  • Understands response time contributions from Java servlets, JSP, EJBs, JMS, JNDI, JDBC, and XML
  • Correlates activity across Web, multiple JVMs, and DB servers
  • Spans the application cycle (development, testing, deployment)
  • Gathers data in real time; stores historical data
  • Alerts you in advance of an SLA breach
  • Easy-to-use GUI
  • Analysis spans entire application, from end user to storage
  • Provides advice on how to solve application-performance problems

    Con:

  • Difficult installation process needs to be streamlined (I'm told this is remedied in v7, due to ship in Q4 2004)

    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

  • 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.

    Comments (0)

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.