by Kingsum Chow, Ph.D., senior performance architect, Managed Runtime Environments group, Intel Corp.
J2EE applications are required to run efficiently, even when the demand on the system is high. Improving the performance of the system is quite a complex task, within the core application and the use of the J2EE services, and also with the interaction with front-end Web servers and database back-end systems.
This article walks through an actual case study of the optimization of a J2EE application in order to illustrate best practices for developers in order to obtain high performance. The companion articles, J2EE Performance Optimization Part 1 and J2EE Performance Optimization Part 3, to this one establish the workload, performance metrics, methodology, and environment for the tuning project. This article builds on the former by providing the details of a case-study performance optimization for the SPECjAppServer family of benchmarks.
Workload Configuration
We chose the dual-node category of SPECjAppServer2002 for our case study, as that is the simplest setup to show case performance of the application on an application server. We chose a system based on 4P Intel® Xeon™ processors for the driver/emulator and a system based on 4P Intel Itanium® 2 processors for the back end. We focus on performance on the application-server middle tier (also a system based on 4P Itanium processors).
We chose Windows as the platform for analysis, although most of the methods of analysis presented here can be applied to other operating systems as well. For the application server and the emulator, we chose BEA WebLogic 8.1, although this study is relevant to other application servers as well. For the JVM running on the application server, we chose BEA JRockit, as it is highly optimized for Intel architecture. We chose a high-speed switched network connection (1Gbps) as a typical production environment for such applications to be deployed in data centers. Figure 1 illustrates the configuration we have described.

Figure 1. Workload configuration.
In our case study, we stayed within the scope of design choices as illustrated in Figure 1, but we have opportunities to use different platforms (e.g. different processors, different processor frequencies, different caches and memories) to study their performance impacts. For the database back-end, we have choices of Oracle 9i and Microsoft SQL Server, as well as using or not using RAID disk arrays. The choice of the database back-end systems affects the choice of the JDBC layer for the application server also. For the application server, we have different versions of BEA WebLogic and JRockit at our disposal.
![]()
![]() | Getting the bubbles out of code: designing for the Itanium 2 processor by Andrew Binstock, principal analyst, Pacific Data Works LLC. Intel C... |
![]() | Migrating Java to C# manually: four case studies by Jason A. Fletcher, application engineer, Intel Software and Solu... |
If you're interested in this topic, these articles may be helpful:
![]() | Enterprise Java performance: best practices by Kingsum Chow, Ricardo Morin, Kumar Shiv, Software and Solutions Gro... |
![]() | Intel® VTune™ Performance Analyzer Version 3.0 for Linux* Identify lines of code that use excessive resources, remove performanc... |
![]() | Rational Performance Tester demo IBM Rational Performance Tester is a performance and load testing so... |
![]() | J2EE performance optimization, part 1: laying the foundation by Kingsum Chow, PhD, senior performance architect with the Managed ... |
![]() | EJB best practices: the fine points of data validation - how to get the best performance out of your validation code by Brett McLaughlin, author and editor, O'Reilly and Associates.First ... |
![]()
Related Jobs:
![]() | Senior Software Engineer - UT - Salt Lake City - SunGard Reference No.: n/a Opening Date: April 28, 2006 Job Title: Senior ... |
![]() | Sr CRM/Java App Developer #KJD7977 - MN - Eagan - Blue Cross and Blue Shield of Minnesota Sr CRM/Java App Developer– KJD7977 » apply I. Job Summary: T... |
![]() | Senior System Support Analyst #57957 - CA - San Rafael - Autodesk, Inc. Senior System Support Analyst Location: Calgary, Alberta or San Ra... |
![]() | Senior Test Automation Engineer #254172 - WA - Seattle - Qpass SUMMARY OF RESPONSIBILITIES Develop automated test cases and framew... |
![]() | Software Engineer I #T05-4365 - MA - Needham - General Dynamics C4 Systems Job Title Software Engineer I Location Needham MA Relocation Avail... |
![]() | Websphere Admin #12778 - RI - Cranston - Radiant Systems, Inc Requirements At least 5 or more years experience in implementation, s... |
![]() | Solutions Architect #141484 - WA - Redmond - Microsoft Corporation The Communications Sector’s core mission is to accelerate the growth o... |
![]() | Senior Test Automation Engineer #254793 - WA - Seattle - Qpass SUMMARY OF RESPONSIBILITIES Develop automated test cases and framew... |
![]() | Program Manager #11.06.05 - CA - Redwood Shores - VISTO, Inc. Program Manager - 11.06.05 Dec 16, 2005 Redwood Shores,California ... |
![]() | Sr. Enterprise Solution Architects #78713 - GA - Alpharetta - Cingular Wireless Position Title: Sr. Enterprise Solution Architects Requisitio... |

