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
Rodrigo Coutinho is part of OutSystems' founders' team and currently the Head of Product Design. He provides a cross-functional role where he supports Product Management in defining the positioning and direction of the Agile Platform, while at the same time promoting model-based development and new techniques to deliver applications in the cloud.
Business professionals no longer wonder if they'll migrate to the cloud; it's now a matter of when. The cloud environment has proved to be a major force in transitioning to an agile business model that enables quick decisions and fast implementation that solidify customer relationships. And when the cloud is combined with the power of cognitive computing, it drives innovation and transformation that achieves astounding competitive advantage.
In his session at Cloud Expo, Alan Winters, U.S. Head of Business Development at MobiDev, presented a success story of an entrepreneur who has both suffered through and benefited from offshore development across multiple businesses: The smart choice, or how to select the right offshore development partner Warning signs, or how to minimize chances of making the wrong choice Collaboration, or how to establish the most effective work processes Budget control, or how to maximize project result...
IoT is rapidly becoming mainstream as more and more investments are made into the platforms and technology. As this movement continues to expand and gain momentum it creates a massive wall of noise that can be difficult to sift through. Unfortunately, this inevitably makes IoT less approachable for people to get started with and can hamper efforts to integrate this key technology into your own portfolio. There are so many connected products already in place today with many hundreds more on the h...
Personalization has long been the holy grail of marketing. Simply stated, communicate the most relevant offer to the right person and you will increase sales. To achieve this, you must understand the individual. Consequently, digital marketers developed many ways to gather and leverage customer information to deliver targeted experiences. In his session at @ThingsExpo, Lou Casal, Founder and Principal Consultant at Practicala, discussed how the Internet of Things (IoT) has accelerated our abilit...
In his keynote at 19th Cloud Expo, Sheng Liang, co-founder and CEO of Rancher Labs, discussed the technological advances and new business opportunities created by the rapid adoption of containers. With the success of Amazon Web Services (AWS) and various open source technologies used to build private clouds, cloud computing has become an essential component of IT strategy. However, users continue to face challenges in implementing clouds, as older technologies evolve and newer ones like Docker c...
Data is the fuel that drives the machine learning algorithmic engines and ultimately provides the business value. In his session at Cloud Expo, Ed Featherston, a director and senior enterprise architect at Collaborative Consulting, discussed the key considerations around quality, volume, timeliness, and pedigree that must be dealt with in order to properly fuel that engine.
No hype cycles or predictions of zillions of things here. IoT is big. 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, Associate Partner at M&S Consulting, presented a step-by-step plan to develop your technology implementation strategy. He discussed the evaluation of communication standards and IoT messaging protocols, data analytics considerations, edge-to-cloud tec...
In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, provided an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settl...
In his session at @ThingsExpo, Dr. Robert Cohen, an economist and senior fellow at the Economic Strategy Institute, presented the findings of a series of six detailed case studies of how large corporations are implementing IoT. The session explored how IoT has improved their economic performance, had major impacts on business models and resulted in impressive ROIs. The companies covered span manufacturing and services firms. He also explored servicification, how manufacturing firms shift from se...
IoT is at the core or many Digital Transformation initiatives with the goal of re-inventing a company's business model. We all agree that collecting relevant IoT data will result in massive amounts of data needing to be stored. However, with the rapid development of IoT devices and ongoing business model transformation, we are not able to predict the volume and growth of IoT data. And with the lack of IoT history, traditional methods of IT and infrastructure planning based on the past do not app...
Organizations planning enterprise data center consolidation and modernization projects are faced with a challenging, costly reality. Requirements to deploy modern, cloud-native applications simultaneously with traditional client/server applications are almost impossible to achieve with hardware-centric enterprise infrastructure. Compute and network infrastructure are fast moving down a software-defined path, but storage has been a laggard. Until now.
Digital Transformation is much more than a buzzword. The radical shift to digital mechanisms for almost every process is evident across all industries and verticals. This is often especially true in financial services, where the legacy environment is many times unable to keep up with the rapidly shifting demands of the consumer. The constant pressure to provide complete, omnichannel delivery of customer-facing solutions to meet both regulatory and customer demands is putting enormous pressure on...
The best way to leverage your CloudEXPO | DXWorldEXPO presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering CloudEXPO | DXWorldEXPO will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at CloudEXPO. Product announcements during our show provide your company with the most reach through our targeted audienc...
DXWorldEXPO LLC announced today that All in Mobile, a mobile app development company from Poland, will exhibit at the 22nd International CloudEXPO | DXWorldEXPO. All In Mobile is a mobile app development company from Poland. Since 2014, they maintain passion for developing mobile applications for enterprises and startups worldwide.
"Akvelon is a software development company and we also provide consultancy services to folks who are looking to scale or accelerate their engineering roadmaps," explained Jeremiah Mothersell, Marketing Manager at Akvelon, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
JETRO showcased Japan Digital Transformation Pavilion at SYS-CON's 21st International Cloud Expo® at the Santa Clara Convention Center in Santa Clara, CA. The Japan External Trade Organization (JETRO) is a non-profit organization that provides business support services to companies expanding to Japan. With the support of JETRO's dedicated staff, clients can incorporate their business; receive visa, immigration, and HR support; find dedicated office space; identify local government subsidies; get...
The current age of digital transformation means that IT organizations must adapt their toolset to cover all digital experiences, beyond just the end users’. Today’s businesses can no longer focus solely on the digital interactions they manage with employees or customers; they must now contend with non-traditional factors. Whether it's the power of brand to make or break a company, the need to monitor across all locations 24/7, or the ability to proactively resolve issues, companies must adapt to...
"We view the cloud not as a specific technology but as a way of doing business and that way of doing business is transforming the way software, infrastructure and services are being delivered to business," explained Matthew Rosen, CEO and Director at Fusion, in this SYS-CON.tv interview at 18th Cloud Expo (http://www.CloudComputingExpo.com), held June 7-9 at the Javits Center in New York City, NY.
DXWorldEXPO LLC announced today that the upcoming DXWorldEXPO | CloudEXPO New York event will feature 10 companies from Poland to participate at the "Poland Digital Transformation Pavilion" on November 12-13, 2018.