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
DX World EXPO, LLC, a Lighthouse Point, Florida-based startup trade show producer and the creator of "DXWorldEXPO® - Digital Transformation Conference & Expo" has announced its executive management team. The team is headed by Levent Selamoglu, who has been named CEO. "Now is the time for a truly global DX event, to bring together the leading minds from the technology world in a conversation about Digital Transformation," he said in making the announcement.
"Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
SYS-CON Events announced today that Conference Guru has been named “Media Sponsor” of the 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. A valuable conference experience generates new contacts, sales leads, potential strategic partners and potential investors; helps gather competitive intelligence and even provides inspiration for new products and services. Conference Guru works with conference organizers to pass great deals to gre...
The Internet of Things will challenge the status quo of how IT and development organizations operate. Or will it? Certainly the fog layer of IoT requires special insights about data ontology, security and transactional integrity. But the developmental challenges are the same: People, Process and Platform. In his session at @ThingsExpo, Craig Sproule, CEO of Metavine, demonstrated how to move beyond today's coding paradigm and shared the must-have mindsets for removing complexity from the develop...
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...
"Evatronix provides design services to companies that need to integrate the IoT technology in their products but they don't necessarily have the expertise, knowledge and design team to do so," explained Adam Morawiec, VP of Business Development at Evatronix, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
To get the most out of their data, successful companies are not focusing on queries and data lakes, they are actively integrating analytics into their operations with a data-first application development approach. Real-time adjustments to improve revenues, reduce costs, or mitigate risk rely on applications that minimize latency on a variety of data sources. In his session at @BigDataExpo, Jack Norris, Senior Vice President, Data and Applications at MapR Technologies, reviewed best practices to ...
Widespread fragmentation is stalling the growth of the IIoT and making it difficult for partners to work together. The number of software platforms, apps, hardware and connectivity standards is creating paralysis among businesses that are afraid of being locked into a solution. EdgeX Foundry is unifying the community around a common IoT edge framework and an ecosystem of interoperable components.
Large industrial manufacturing organizations are adopting the agile principles of cloud software companies. The industrial manufacturing development process has not scaled over time. Now that design CAD teams are geographically distributed, centralizing their work is key. With large multi-gigabyte projects, outdated tools have stifled industrial team agility, time-to-market milestones, and impacted P&L stakeholders.
"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.
"IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objectively discuss how DNS is used to solve Digital Transformation challenges in large SaaS applications, CDNs, AdTech platforms, and other demanding use cases. Carl J. Levine is the Senior Technical Evangelist for NS1. A veteran of the Internet Infrastructure space, he has over a decade of experience with startups, networking protocols and Internet infrastructure, combined with the unique ability to it...
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 ...
"Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offer guided learning experiences on AWS, Azure, Google Cloud and all the surrounding methodologies and technologies that you need to know and your teams need to know in order to leverage the full benefits of the cloud," explained Alex Brower, VP of Marketing at Cloud Academy, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clar...
Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
"MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, 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.
Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicate or sell. In their Day 3 Keynote at 21st Cloud Expo, Greg Chambers, Global Group Director, Digital Innovation, Coca-Cola, and Vidya Nagarajan, a Senior Product Manager at Google, discussed how from store operations and ...
"There's plenty of bandwidth out there but it's never in the right place. So what Cedexis does is uses data to work out the best pathways to get data from the origin to the person who wants to get it," explained Simon Jones, Evangelist and Head of Marketing at Cedexis, 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.
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.