The IBM WebSphere Application Server is the flagship product in the IBM WebSphere platform. It is one of the top J2EE application servers. WebSphere architecture and infrastructure are oriented for performance and scalability, and allow deployment of many types of distributed applications such as Web-based applications and Web services. Furthermore, WebSphere’s complete implementation of the Sun Microsystems Java EE 5.0 specification provides a standard set of APIs for creating distributed Java applications that can access a wide variety of services, such as databases, messaging services, and connections to external enterprise systems.
These capabilities among others make WebSphere Application Server (WAS) an important environment to become familiar with from the performance perspective. This chapter helps you understand WebSphere Application Server high-level architecture, recommended counters for monitoring, and main tuning related aspects.
WebSphere Application Server comes in five different editions:
- WebSphere Application Server Network Deployment. Delivers nearcontinuous availability with advanced performance and management capabilities for mission-critical applications.
- WebSphere Application Server for z/OS. Provides similar capabilities to the Network Deployment edition, oriented for z/OS and uses, to its advantage, the z/OS Workload Manager.
- WebSphere Application Server. Provides Java EE 5 configuration, optimized to ease administration in a scalable, single-server environment.
- WebSphere Application Server Express. Provides a scaled down version of the WebSphere Application Server edition.
- WebSphere Application Server Community Edition. Provides a lightweight Java EE 5 application server based on open source Apache Geronimo.
Each member of the WebSphere Application Server family uses the same architectural structure with some differences in capabilities, platform compatibility, and licensing.
The WebSphere Application Server is organized based on the concept of cells, nodes, and servers. Cells and nodes play an important role when you reach the Network Deployment configuration.
- Servers. A server performs the actual code execution. There are several types of servers, depending on the configuration: Application servers and JMS servers. Each server runs on its own JVM.
- Nodes. A node is a logical grouping of WebSphere-managed server processes that share common configuration and operational control. A node is generally associated with one physical installation of WebSphere Application Server.
- Cells. A cell is a grouping of nodes into a single administrative domain. A typical WebSphere cell contains software components that may be installed on one node or distributed over multiple nodes for scalability and reliability purposes.
These include the following:
- A Web server that provides HTTP services
- A database server for storing application data
- WebSphere Application Server (WAS)
The following diagram illustrates a single WebSphere node architecture:
WebSphere Application Server provides a performance monitoring infrastructure (PMI) which is a server side monitoring infrastructure that offers client-side API. Using PMI you can monitor the overall health and performance of the application server. The performance data is made available via JMX.
Note: PMI is enabled from the WebSphere administrative console.
It is important to thoroughly understand your application’s architecture and deployment when checking performance throughout the product lifecycle. This is especially true when monitoring the J2EE application deployed on a WebSphere server. For example, Web Services counters are relevant only if your application has them as well.
HP SiteScope WebSphere Solution template is the recommended method for monitoring WebSphere while using LoadRunner or Performance Center. The Solution template comes with a predefined set of counters for monitoring.
Alternatively, you can use the SiteScope WebSphere monitor. Using this monitor requires manual configuration of the desired counters. Detailed instructions are provided in the SiteScope User Guide.