Welcome!

Weblogic Authors: Yeshim Deniz, Elizabeth White, Michael Meiner, Michael Bushong, Avi Rosenthal

Related Topics: Weblogic

Weblogic: Article

WebLogic Clustering on Intel-Based Blade Servers

A robust, reliable platform for complex implementations

This article presents the clustered implementation and performance scaling of SPECjAppServer2002 on dual processor Enterprise Blade Servers based on Intel architecture using BEA WebLogic Server clustering support in a Linux environment (Red Hat AS 2.1).

A brief introduction to Blade architecture is provided, along with an overview of WebLogic Server clustering capabilities, including the steps involved in setting up a clustered implementation of the workload. This is followed by the characterization of the performance and scaling (scale out) of the workload as the cluster size is increased from single to multiple nodes.

SPECjAppServer2002
The SPECjAppServer2002 benchmark measures the performance of Java Enterprise application servers based on J2EE, gauging the scalability of J2EE servers and containers. SPECjAppServer2002 stresses the ability of Enterprise JavaBean (EJB) containers to handle the complexities of memory management, connection pooling, passivation/activation, caching,and so on. It models manufacturing, supply chain management, and order/inventory business environments. There are four defined business domains: manufacturing, supplier, customer, and corporate. Performance results for the benchmark are influenced primarily by hardware configuration, J2EE application software, and database software. The setup consists of the driver and supplier emulator, the application server, and the database server. The run rules require that the driver and the supplier emulator must be run outside the system under test. Hence a network and at least two systems are required. The benchmark can be run in either a centralized or a distributed mode (see www.spec.org/jappserver2002 for description).

Results reported using this workload fall into one of three categories:

  • Single node systems: A single node with a coherent memory system runs both the application server and database instances
  • Dual node systems: Two nodes with coherent memory systems, one running the application server and the other running the database
  • Multiple node systems: Contain three or more nodes (systems running a distributed operating system cluster or non coherent memory system fall into this category)
The primary performance metric is TOPS (Total Operations Per Second). This is the number of customer order transactions plus the number of manufacturing work orders divided by the measurement period in seconds. Among the constraints to meet for compliant runs are response-time constraints that affect all categories of transactions and limit the maximum rate at which transactions can be injected into the system by the driver, hence impacting throughput. Getting good results for this workload requires tuning the different run parameters to get increased throughput via maximum utilization of the application server (indicated by high CPU utilization numbers) while satisfying the run rules and constraints.

Our SPECjAppServer2002 Configuration
Our study focuses on the centralized mode of the benchmark and our category is a multiple node system consisting of a driver, a database server, and a cluster of application servers. However, the purpose of our study is not to report top performance in a category but rather to implement and study the effects of clustering. Furthermore we include Failover capabilities (explained later), which provide a realistic clustering scenario and do reduce the performance but are not a prerequisite for performance publications. Hence the performance reported is not optimal from a publication perspective.

Blade Architecture
Blade servers (see Figure 1) form the hardware foundation for a modular computing paradigm. While the pedestal and rack-mounted system approach increases complexity, modular computing reduces complexity. Modular computing enables greater automation and virtualization of resources, creates reliable systems essentially with no single point of failure, and helps reduce IT costs while increasing capacity, functionality, and agility. An emerging technological approach to datacenter architectures, modular computing integrates chassis-based modular hardware resources that are easily removed and replaced. Chassis-based systems aggregate interconnect, cabling, switching, power supplies, cooling, and other resources, simplifying the infrastructure and its management and service. Modular computing allows administrators to customize computing resources with a variety of processing resources - one-way, two-way; 32-bit, 64-bit, etc. - on server boards that are easily installed into a chassis, much like chassis-based switches currently used in large data centers. Modular switching and management components might also be part of the chassis, both to integrate functionality and to abstract monitoring and control of the entire system. Chassis components communicate across a modular backplane (or midplane, depending on their location in the chassis) and can be designed to provide full redundancy for high availability and protection against a single point of failure, as well as to allow easy serviceability.

 

As modular computing matures, future virtualization capabilities will treat resources as pools, regardless of their location, that can be quickly reconfigured to meet changing business needs. Management components will automate much of the work done manually by administrators today, giving them more time to focus on other critical tasks and initiatives. Blade servers and the modular computing paradigm give datacenters flexible resources, while simplifying the architecture to positively impact business agility and operating costs.

Our Blade Server Cluster Configuration
The blade server cluster we used allows for scaling up to 14 blade-server bays. It includes an integrated and hot-swappable Gigabit Ethernet switch module (scalable up to two modules). We did not use an external disk system for the cluster, but up to two integrated and hot-swappable Fibre Channel Switch Modules are possible. Each blade has two Intel Xeon processors running at 2.8 GHz with a 512K Cache. The front-side bus in each blade runs at 533MHz, and each blade is configured with 2.5GB of DDR SDRAM. This can be increased to a maximum of 8GB.

Clustering Using WebLogic Servers
A BEA WebLogic Server cluster consists of multiple instances of the WebLogic Server cooperating with each other in order to provide increased application scalability and reliability. These multiple instances of the WebLogic Server constituting a cluster may run on the same physical system or multiple physical systems, but for all the client requests they appear as a single, coherent unit.

As mentioned above, the biggest advantages of a cluster include scalability and availability. Provisioning additional capacity for an enterprise application just requires enabling more instances of WebLogic Server in the cluster.

In a cluster with failover enabled, the application components are deployed on multiple instances of the cluster. In case of either a node or a WebLogic Server instance failure, the other servers in the cluster pick up the work where the first server left off, thus maintaining availability and reliability.

Some of the objects that can be clustered using WebLogic Server include servlets, JSPs, and EJBs.

Architecture of WebLogic Server Clusters
A cluster should be part of a domain. A domain can consist of multiple instances of WebLogic Server, some of which may be clustered while others are not. A domain logically groups these multiple instances of WebLogic Server based on some criteria.

Every domain needs to have a single administrative server whose responsibilities include configuring and managing the other instances of WebLogic Server in the domain. The admin server is configured with the information regarding the other instances in the cluster (their names/IP addresses/listen ports, queue sizes and other options, the cluster multicast address/port they should use, etc.) as well as with the application files intended for deployment in the cluster.

A cluster, in addition to the admin server, also hosts other instances of WebLogic Server that are the real work horses. These are known as "managed servers" and are started with information regarding how to contact the admin server. The managed servers then establish communication with the admin server and download their configuration information as well as the applications to be deployed. After retrieving this data from the admin server, they synchronize with the other managed servers in the cluster.

Clustering EJBs
SPECjAppServer2002 is the workload used in our study because this application makes extensive use of EJBs for its business logic, stressing the EJB infrastructure of an application server. Consequently, discussion of the clustering of EJBs is appropriate.

Failover and load balancing in a cluster are achieved through "replica-aware stubs" (RAS). When a client initially contacts one of the managed servers, it gets back a replica-aware stub. This stub contains information regarding all the server instances on which the particular object that the client has requested is hosted. The client, using the load balancing algorithm information stored in the stub as well the information of all the hosts of that object, then routes its request to the appropriate host.

The three main types of EJBs, all of which are implemented and used by SPECjAppSever2002, include stateless, stateful, and entity EJBs.

In the case of stateless EJBs, the RAS contains information regarding all the WebLogic Server instances hosting the bean. The client can then choose from these instances the one to which it shall route its call. Failover in this scenario is just moving to the next instance of WLS hosting that bean.

Stateful EJBs need to maintain the state of the transaction. The WebLogic Server instance on which it is initially created, based on a client's request, is referred to as the primary server (PS). The PS selects one other server in the cluster on which to replicate the state of the bean, and this chosen server is referred to as the secondary server (SS). The RAS that is sent back to the client contains information regarding both the PS and the SS, and in case of the failure of the PS, the client can switch to the SS.

An entity EJB's state is stored in persistent storage, like in a database. The data store that holds the entity EJB's state is shared among all the servers in the cluster. In the case of an entity EJB the RAS contains information about all the servers hosting the entity bean. If one of the servers were to fail, the request could be failed over to any of the remaining servers (as indicated by RAS), which then picks up the last committed state of the bean from the data store.

Setting up SPECjAppServer2002 for Clustering
We're now ready to discuss the actual implementation of SPECjAppServer2002 using clustering.

1.  Creating the Clusterable EAR File
The two mainWebLogic Server concurrency choices for a user are:

  • Optimistic concurrency: The application server optimistically processes transactions without locking the records in the database and rolling them back if necessary.
  • Pessimistic concurrency: Every transaction involves locking the records in the database.
SPECjAppServer2002 in a clustered WebLogic Server environment shows better performance with the pessimistic concurrency model than with the optimistic concurrency model. Thus we enabled clustering and the pessimistic concurrency model in the creation of the SPECjAppServer.ear file.

Failover for stateful session beans (SFSB) in WebLogic Server is enabled through "in memory replication" (IMR) since these objects are replicated on the primary and secondary servers in their memories. SPECjAppServer2002 has two SFSBs, "CartSes" and "BuyerSes". Enabling IMR for these beans was done by adding the changes shown in Listing 1 in their deployment descriptors.

Once compiled and created after these changes, you have the specjappserver.ear file that can be deployed in a clustered failover environment.

2.  Creating the Cluster
BEA WebLogic Server provides an intuitive GUI-based wizard called "BEA WebLogic Configuration Wizard" (activated by running the script /bea/weblogic81/common/bin/config.sh) that guides you through the process of configuring a cluster, the administrative and managed server instances in the cluster, physical systems in the cluster, associating the instances to the cluster as well as to the physical systems, and finally the domain of the cluster.

In the location of the created domain directory, a user finds the scripts startAdminServer.sh and startManagedServer.sh, which are used to run the WebLogic Server instances. In these scripts, make sure that the option --DWeblogic.ProductionModeEnabled =true.

Once the domain is configured, the EAR file created in the previous section is transferred to an applications sub-directory, and in the config.xml, the user points the application to be deployed to this ear file.

To bring up the cluster, the administrative server is started. Once it is up and running, the other managed servers in the cluster are started up and then the emulator (the supplier emulator hosting servlets) is launched along with the driver (which generates requests to the application servers) instances on a different node.

Cluster Performance: Clustering Overhead on a Single Node
Once the cluster is configured and functional, the workload can be run and cluster performance measured. As discussed earlier, enabling clustering involved three main configuration changes in WebLogic Server: (1) changing to a clustering EAR file; (2) moving from an optimistic to a pessimistic concurrency model for database access; and (3) enabling failover. The performance impact of these changes in a single-node application-server configuration seems to be within reasonable limits. Note that CPU utilization on the application server remains about the same when moving from optimistic to pessimistic concurrency even though there is a slight drop in performance. Enabling "clustering" in WebLogic Server does not seem to have much impact on either application server CPU utilization or throughput (TOPS), indicating low overhead. The remaining drop in performance comes from enabling failover (see Figure 2).

 

Cluster Performance: Multiple Nodes
The next phase is to scale cluster size and measure the scaling in performance as shown in Figure 3. Cluster configurations both with and without enabling failover are shown. Scaling without failover enabled is almost linear from 1-3 nodes. We see a constant performance increase of about 94% of single-node performance with each node added to the cluster (i.e., 2 nodes = 1.94 x 1 node and 3 nodes = 2.88 x 1 node). We were unable to further scale the cluster in the "No Failover" configuration since the database becomes the performance limiter at this point due to high CPU utilization. Cluster performance scaling with failover enabled is somewhat lower at about 80% of single node performance for each node added, going from 1-3 nodes. Apart from additional failover-related processing necessary at each node, failover communication must now go across nodes in the cluster, adding to the overhead. With failover enabled, it was possible to add a fourth node since there was headroom available in database CPU capacity, but we must note that performance at four nodes does not truly represent workload scaling since at that point it is extraneously constrained by database CPU utilization having reached limiting levels. CPU utilization in each application server in the cluster remains fairly constant in the 80-81% range going over 1-3 nodes. For a four-node cluster, database limitations prevent CPU utilization in the application servers from going beyond ~ 61%. In all the configurations discussed, WebLogic Server achieved a very balanced load across the cluster and total network traffic was low enough for the Gb cluster backplane so as not to be a performance issue.

 

Summary
The clustered implementation of SPECjAppServer2002 on Intel architecture-based Enterprise Blade Servers using WebLogic Server clustering support was discussed. The Blade Server cluster was found to be a robust, convenient, and reliable platform that helped ease the effort involved in a complex implementation. WebLogic Server clustering support provided ease of workload configuration and good performance scaling over the 1-3 node range. The performance impact of enabling failover seems to be within reasonable limits. Performance scaling with clustering seems very encouraging and highlights the potential usefulness and practicality of a clustered approach.

More Stories By Nitin Singhvi

Nitin Singhvi is a senior performance analyst at Intel
Corporation where he has worked for the past 8 years. During this time his focus has largely been in the area of enterprise server systems
analysis using various server workloads. His work has spanned designs starting from some of the early Intel server components to current high-performance products

More Stories By Aravind Pavuluri

Aravind Pavuluri is a software performance engineer with the Managed Runtime Environments group at Intel. He has been involved with optimizing Java Runtimes as well trying to understand their impact on the Intel platforms. He holds a master's degree in information networking from Carnegie Mellon and a bachelor's in computer science from West Virginia Tech.

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.


@ThingsExpo Stories
The 22nd International Cloud Expo | 1st DXWorld Expo has announced that its Call for Papers is open. Cloud Expo | DXWorld Expo, to be held June 5-7, 2018, at the Javits Center in New York, NY, brings together Cloud Computing, Digital Transformation, Big Data, Internet of Things, DevOps, Machine Learning and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding busin...
Smart cities have the potential to change our lives at so many levels for citizens: less pollution, reduced parking obstacles, better health, education and more energy savings. Real-time data streaming and the Internet of Things (IoT) possess the power to turn this vision into a reality. However, most organizations today are building their data infrastructure to focus solely on addressing immediate business needs vs. a platform capable of quickly adapting emerging technologies to address future ...
Nordstrom is transforming the way that they do business and the cloud is the key to enabling speed and hyper personalized customer experiences. In his session at 21st Cloud Expo, Ken Schow, VP of Engineering at Nordstrom, discussed some of the key learnings and common pitfalls of large enterprises moving to the cloud. This includes strategies around choosing a cloud provider(s), architecture, and lessons learned. In addition, he covered some of the best practices for structured team migration an...
No hype cycles or predictions of a gazillion things here. IoT is here. You get it. You know your business and have great ideas for a business transformation strategy. What comes next? Time to make it happen. In his session at @ThingsExpo, Jay Mason, an Associate Partner of Analytics, IoT & Cybersecurity at M&S Consulting, presented a step-by-step plan to develop your technology implementation strategy. He also discussed the evaluation of communication standards and IoT messaging protocols, data...
With tough new regulations coming to Europe on data privacy in May 2018, Calligo will explain why in reality the effect is global and transforms how you consider critical data. EU GDPR fundamentally rewrites the rules for cloud, Big Data and IoT. In his session at 21st Cloud Expo, Adam Ryan, Vice President and General Manager EMEA at Calligo, examined the regulations and provided insight on how it affects technology, challenges the established rules and will usher in new levels of diligence arou...
In his Opening Keynote at 21st Cloud Expo, John Considine, General Manager of IBM Cloud Infrastructure, led attendees through the exciting evolution of the cloud. He looked at this major disruption from the perspective of technology, business models, and what this means for enterprises of all sizes. John Considine is General Manager of Cloud Infrastructure Services at IBM. In that role he is responsible for leading IBM’s public cloud infrastructure including strategy, development, and offering m...
In his session at 21st Cloud Expo, Raju Shreewastava, founder of Big Data Trunk, provided a fun and simple way to introduce Machine Leaning to anyone and everyone. He solved a machine learning problem and demonstrated an easy way to be able to do machine learning without even coding. Raju Shreewastava is the founder of Big Data Trunk (www.BigDataTrunk.com), a Big Data Training and consulting firm with offices in the United States. He previously led the data warehouse/business intelligence and B...
Recently, REAN Cloud built a digital concierge for a North Carolina hospital that had observed that most patient call button questions were repetitive. In addition, the paper-based process used to measure patient health metrics was laborious, not in real-time and sometimes error-prone. In their session at 21st Cloud Expo, Sean Finnerty, Executive Director, Practice Lead, Health Care & Life Science at REAN Cloud, and Dr. S.P.T. Krishnan, Principal Architect at REAN Cloud, discussed how they built...
22nd International Cloud Expo, taking place June 5-7, 2018, at the Javits Center in New York City, NY, and co-located with the 1st DXWorld Expo will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud ...
22nd International Cloud Expo, taking place June 5-7, 2018, at the Javits Center in New York City, NY, and co-located with the 1st DXWorld Expo will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud ...
DevOps at Cloud Expo – being held June 5-7, 2018, at the Javits Center in New York, NY – announces that its Call for Papers is open. Born out of proven success in agile development, cloud computing, and process automation, DevOps is a macro trend you cannot afford to miss. From showcase success stories from early adopters and web-scale businesses, DevOps is expanding to organizations of all sizes, including the world's largest enterprises – and delivering real results. Among the proven benefits,...
@DevOpsSummit at Cloud Expo, taking place June 5-7, 2018, at the Javits Center in New York City, NY, is co-located with 22nd Cloud Expo | 1st DXWorld Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to wait...
Cloud Expo | DXWorld Expo have announced the conference tracks for Cloud Expo 2018. Cloud Expo will be held June 5-7, 2018, at the Javits Center in New York City, and November 6-8, 2018, at the Santa Clara Convention Center, Santa Clara, CA. Digital Transformation (DX) is a major focus with the introduction of DX Expo within the program. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive ov...
SYS-CON Events announced today that T-Mobile exhibited at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. As America's Un-carrier, T-Mobile US, Inc., is redefining the way consumers and businesses buy wireless services through leading product and service innovation. The Company's advanced nationwide 4G LTE network delivers outstanding wireless experiences to 67.4 million customers who are unwilling to compromise on qua...
SYS-CON Events announced today that Cedexis will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Cedexis is the leader in data-driven enterprise global traffic management. Whether optimizing traffic through datacenters, clouds, CDNs, or any combination, Cedexis solutions drive quality and cost-effectiveness. For more information, please visit https://www.cedexis.com.
SYS-CON Events announced today that Google Cloud has been named “Keynote Sponsor” of SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Companies come to Google Cloud to transform their businesses. Google Cloud’s comprehensive portfolio – from infrastructure to apps to devices – helps enterprises innovate faster, scale smarter, stay secure, and do more with data than ever before.
SYS-CON Events announced today that Vivint to exhibit at SYS-CON's 21st Cloud Expo, which will take place on October 31 through November 2nd 2017 at the Santa Clara Convention Center in Santa Clara, California. As a leading smart home technology provider, Vivint offers home security, energy management, home automation, local cloud storage, and high-speed Internet solutions to more than one million customers throughout the United States and Canada. The end result is a smart home solution that sav...
SYS-CON Events announced today that Opsani will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Opsani is the leading provider of deployment automation systems for running and scaling traditional enterprise applications on container infrastructure.
SYS-CON Events announced today that Nirmata will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Nirmata provides a comprehensive platform, for deploying, operating, and optimizing containerized applications across clouds, powered by Kubernetes. Nirmata empowers enterprise DevOps teams by fully automating the complex operations and management of application containers and its underlying ...
SYS-CON Events announced today that Opsani to exhibit at SYS-CON's 21st Cloud Expo, which will take place on October 31 through November 2nd 2017 at the Santa Clara Convention Center in Santa Clara, California. Opsani is creating the next generation of automated continuous deployment tools designed specifically for containers. How is continuous deployment different from continuous integration and continuous delivery? CI/CD tools provide build and test. Continuous Deployment is the means by which...