Migrating Sun-based BEA WebLogic Application Servers to Dell PowerEdge Servers - Part 4
By Dave Jaffe, Ph.D. (Issue 3 2001)
An earlier study by Dell discussed issues in migrating a Java 2 Enterprise Edition application implemented using BEA Systems WebLogic Server from the Sun Enterprise 220R server running Solaris 8 to the Dell PowerEdge 1550 rack-optimized server running Windows 2000 Server. The current study described in this article examines compatibility and migration issues in moving the same application from the Sun/Solaris platform to the PowerEdge 1550 running Red Hat Linux. The results demonstrate that customers can continue using a UNIX-type platform, thereby preserving their investment in UNIX administration training. Yet, by migrating from the proprietary Sun/Solaris platform to Dell PowerEdge servers running Red Hat Linux, they can take advantage of Dell's excellent price/performance and direct-to-customer model.
In a previous Power Solutions article, Dell examined coexistence and migration issues for Sun Microsystems® and Dell® systems in tier 2, the application server layer of multitiered applications, by comparing two-processor, rack-mounted application servers: the Dell PowerEdge® 1550 running Windows® 2000 Server and the Sun® Enterprise 220R running Solaris® 8.0.1
The results demonstrated that it is easy to migrate a Java 2 Enterprise Edition- (J2EE-) based application built with BEA WebLogic ServerTM from Sun Solaris to Microsoft® Windows 2000. The study also showed that the PowerEdge 1550 could handle a larger workload than the more expensive Sun Enterprise 220R, which also requires four times more rack space.
Migrating a Java application from SPARC to Linux
This article continues that research into migrating the application server layer from SPARC® -based Sun Microsystems servers to Dell PowerEdge 1550 servers, this time running Red Hat® Linux® .
The same online bank application, a BEA WebLogic Server-based three-tiered implementation, was used for this study. The bank's Oracle® database ran on a Sun Enterprise 4500; the WebLogic application ran on two clustered Sun Enterprise 220R midrange servers. The Web server front-end had two Sun Netra® t1s running the Apache Web server.
The study demonstrates the ease of adding two PowerEdge 1550s running BEA WebLogic Server under Red Hat Linux 6.2 to the Sun/Solaris-based cluster, which results in doubling the bank's transactional capacity at less than one-fifth the cost of the original hardware.
Defining the test environment
The three-tiered application includes the database server layer, the application server layer, and the Web server layer. The Web server layer handles requests from the users' browsers and passes JavaServer PagesTM requests to the application server layer. The WebLogic application queries the database and returns the response to the user.
Hardware components for the test
The BEA WebLogic Server application used a three-tiered hardware configuration, shown in Figure 1 .
Figure 1. Three-tiered BEA WebLogic Server application
This is the same configuration used in the previous test except that now the Red Hat Linux operating system runs the Dell PowerEdge 1550 application servers and Dell PowerApp 100 Web servers. Although the previous test ran the Sun (left side of diagram) and Dell (right side) components separately, in this test the Dell/Linux components were added to the Sun/Solaris-based cluster to demonstrate full compatibility and scalability. Like the previous study, the Sun Enterprise 4500 with four 450 MHz UltraSPARC II processors and 4 GB of memory hosted the Oracle database that was used in all the tests.
BEA provides proxy plug-ins for the Apache Web servers (different modules for Solaris and Linux) to use with WebLogic Server. These plug-ins enable the Web servers to pass certain requests (such as JavaServer Pages) to the WebLogic application layer. The Web server layer-exposed to the Internet-satisfies requests for static pages and simple dynamic content, and provides firewall protection for the application servers handling the enterprise's sensitive business logic.
Figure 2 shows the configuration details of the two WebLogic application servers, each with two processors. The Pentium® III employed by the Dell PowerEdge 1550 operates at a higher frequency than the UltraSPARC II in the Sun Enterprise 220R (1 GHz versus 450 MHz), but it has a smaller Level 2 cache (256 KB compared with 4 MB).
Figure 2. Dell PowerEdge 1550 compared with Sun Enterprise 220R
The PowerEdge 1550 has two 10/100BaseT network interfaces located on the motherboard. An application server requires at least two interfaces to separate network traffic going to the database server from traffic going to the Web servers for performance and security reasons. The Sun Enterprise 220R, however, has only one 10/100BaseT network interface and requires a separate PCI card for the second network interface. Although designed for rack usage, the Sun Enterprise 220R requires four times the rack space as the PowerEdge 1550.
Software components for the test
These tests used the same configuration for the WebLogic Server2 on the Sun Enterprise 220R servers as the previous study. Installation of WebLogic Server on the Dell PowerEdge 1550 servers with Linux 6.2 was similar to the Solaris installation.
The domain deployed in this test initially consisted of a Sun Netra t1 Administration Server and two clustered Sun Enterprise 220R WebLogic application servers. The Administration Server hosts the application software, but it does not actually execute the code. The Application Server directory that contains the application software, the WebLogic configuration files, and startup scripts is network file system (NFS) mounted by the application servers.
To bring up the cluster first required using a command-line script (startWebLogic.sh) to initialize the Administration Server. Each clustered WebLogic Server is brought up through the startManagedWebLogic.sh script. Note: Both scripts are available from the author or from the online version of this article at www.dell.com/powersolutions.
Once each machine was running, the Administration Console was used to perform most of the configuration: defining the cluster, adding member servers, and setting the properties. Applications in the form of Enterprise JavaBeansTM (EJBTM ) .jar files were automatically deployed when copied to the Administration Server. The configuration details are captured in an extensible markup language (XML) file, config.xml, which resides on the Administration Server with the WebLogic startup scripts.
After the initial tests of the two-server cluster concluded, two PowerEdge 1550s were added to the cluster, which required an edit of the config.xml file. The mount command was issued on the two Dell servers to NFS-mount the Application Server directory containing the configuration files, startup scripts, and applications. Then the Dell servers were brought up with the same script (startManagedWebLogic.sh) and became part of the cluster for failover and load balancing.
The config.xml file used in this test as well as a separate XML file, weblogic.xml (which defines the type of httpd session replication used, among other parameters) are available from the author or from the online version of this article at www.dell.com/powersolutions.
The testing process
To demonstrate the compatibility of the Dell/Linux-based application servers with the Sun/Solaris servers, first the J2EE application was run on a cluster of two Sun servers, then on a cluster comprised of the two Sun servers and two Dell servers. The application, workload, and test results are described below.
The test application
Dell used a replication-enabled, EJB-based banking application for this test. WebLogic 6.0 supplied the Java Database Connectivity (JDBC® ) code for establishing connectivity to the Oracle database. The same application was used on both Sun and Dell platforms. The bank database, which held data for 100,000 customers in the previous study, was expanded to 200,000 customers to handle the larger workload driven on the four-system cluster.
The Dell Browser Emulator (DBE) Web stress tool was used to drive the WebLogic transactions. JavaServer Pages requests were directed at the Web server layer and proxied to the application servers using the proxy code discussed earlier.
In the test, a specific number of threads issue transaction requests. Each thread models a series of customers that issue an average of 10 transactions against the banking application. During this time, the connection from the client to the Web server remains intact using the HTTP/1.1 Keep-Alive feature.
Each emulated customer averages two seconds of "think time" between requests. After the 10 transactions, a new emulated customer creates a new connection to the Web server. Each thread selected customers from a range of 100 customers; therefore, the database coverage (in terms of the number of rows accessed in the database tables) grew as the number of simultaneous customers increased.
Test 1: The Sun cluster established baseline
To establish a baseline, a workload consisting of 640 threads representing 640 simultaneous customers from a total population of 64,000 customers was run against two clustered Sun Enterprise 220R WebLogic Servers running Solaris 8.0. The Sun cluster handled this workload with an average response time of 0.545 seconds. The Sun servers ran at 69 percent CPU utilization each.
Test 2: The Sun-Dell cluster doubled workload
For this test, we added two Dell PowerEdge 1550 servers running WebLogic Server under Red Hat Linux 6.2 to the cluster. The workload was doubled to 1,280 simultaneous users from a base of 128,000 customers.
The four-server cluster showed almost perfect scaling, running at 1.98 times the transaction rate of the two-server cluster. Response time remained nearly constant at 0.535 seconds. Sun CPU utilization remained at 69 percent, but the Dell/Linux servers required only 49 percent of their CPU to handle the same share of the workload. (The transactions were evenly distributed among the four application servers). Figure 3 shows the test results.
Figure 3. Test results from Sun-Dell cluster
Solaris/Linux administration commands
Enterprises with substantial investments in Solaris administration training will find the move to Linux preserves that investment because the administration commands are nearly the same.
Figure 4 lists some common tasks needed to implement WebLogic Server in both Solaris and Linux.
Figure 4. Common WebLogic administration tasks in Solaris and Linux
Dell servers demonstrate benefits
These tests using a three-tiered banking application demonstrated the ease of migrating a Java 2 Enterprise Edition application implemented using BEA Systems WebLogic Server from a Sun Enterprise 220R server running Solaris 8 to the Dell PowerEdge 1550 rack-optimized server running Red Hat Linux.
Adding two PowerEdge 1550s to a cluster consisting of two Sun Enterprise 220Rs doubled the capacity of the cluster, with the Dell servers only utilizing about 50 percent of their CPU capacity while the Sun servers were running at about 70 percent CPU utilization. The two Dell servers, moreover, cost less and together required only two rack units (3.5"), compared to the cost and 8U (14") required by the Sun servers.
For those Sun/Solaris application server customers that wish to continue using a UNIX® -type platform to preserve their investment in UNIX administration training, yet wish to take advantage of Dell's excellent price/performance and direct-to-the-customer model, PowerEdge servers running Red Hat Linux provide a compelling migration path.
The author would like to thank Doug Woods and Jong Lee from BEA Systems for their help with WebLogic, Matt Domsch and Danny Trinh for excellent Linux advice, and Dan Trevino for the continued loan of the Sun Enterprise 4500 database server.
Dave Jaffe, Ph.D. (firstname.lastname@example.org) is a senior consultant on Dell's Solution Enablement Labs and Showcase team, specializing in cross-platform solutions. Previously Dave worked in Dell's Server Performance Lab where he led the team responsible for Transaction Processing Performance Council (TPC) benchmarks. Prior to working at Dell, Dave spent 14 years at IBM in semiconductor processing, modeling, and testing, and server and workstation performance. Dave has a Ph.D. in Chemistry from the University of California, San Diego and a B.S. in Chemistry from Yale University.