Set up a multi-tier WebSphere V6 SPECjAppServer2004 cluster with DB2 on Windows

IBM® WebSphere® V6, the first major release in nearly two years, has many new features. The configuration of Websphere clusters has greatly been improved. Learn how to extend a Websphere SPECjAppServer2004 sandbox to a multi-tier cluster. Standard Performance Evaluation Corporation (SPEC) provides a generic user guide on how to set up the SPECjAppServer2004 application, but doesn't include vendor-specific information in the documentation. This article provides the instructions and sample scripts for setting up SPECjAppServer2004 on IBM DB2® for Windows® and WebSphere. The scripting approach can turn the setup task from a whole day of struggling into a single enjoyable learning hour.

Tony Lau (tktlau@ca.ibm.com), Software Engineer, IBM 

Tony Lau is an IBM certified Systems Expert. He is a software engineer in the IBM Toronto Lab. He previously was a research assistant at the parallel programming and distributed systems laboratory at the University of Waterloo. His current focus is autonomic computing.



Meng Fu (mengfu@ca.ibm.com), Software Engineer, IBM 

Meng Fu is a software engineer in IBM Toronto Lab. He has been a WebSphere administrator and scripting expert in the DB2 Performance team.



08 June 2006

Introduction

Testing is expensive. In J2EE performance testing, a tremendous amount of time and effort have been spent setting up the System Under Test (SUT) and workload driver. In order to address today's business needs, an e-business system always consists of a hetergenous cluster of servers. This article requires a matrix of middleware that may include but is not limited to a Web server, a cluster of application servers, and a message queue server.

SPECjAppServer 2004 benchmark is the leader in J2EE benchmark. The topology diagram in Figure 1 below illustrates a sample SPECjAppServer benchmark configuration. The SPECjAppServer2004 benchmark reflects the rigors of complex e-business applications and high transaction rate that are typically deployed in today's enterprise customer environments. The test spans all major components of the J2EE programming model from end to end. The benchmark was jointly developed by varies application server vendors including IBM, BEA, Sun, Oracle, and Borland as a vehicle to demonstrate the performance of their respective products.

Figure 1. Sample SPECjAppServer benchmark configuration
The state-of-the-art topology

A previous article, "Set up a WebSphere V6 SPECjAppServer2004 cluster with DB2 on Windows" (developerWorks, June 2006), goes through the steps for setting up a SPECjAppServer2004 sandbox with WebSphere V6 and DB2 UDB. This article walks you through the steps required to set up a multi-tier SPECjAppServer2004 cluster. This article is taking an incremental approach. Given a sandbox set up in the article "Set up a WebSphere V6 SPECjAppServer2004 cluster with DB2 on Windows," learn how to extend the sandbox setup to a multi-tier configuration, step by step.

Goals

This article covers the following major objectives:

  • Multi-tier SPECjAppServer2004 cluster setup instructions for IBM products

    SPEC provides a generic user guide on how to set up the SPECjAppServer2004 application (see Resources). Vendor-specific information is not included in the documentation. The article "Set up a WebSphere V6 SPECjAppServer2004 cluster with DB2 on Windows" has the instructions for setting up a SPECjAppServer sandbox. In this article, learn how to extend the sandbox to a multi-tier environment.
  • Cookbook instructions to those who are new to WebSphere clustering with DB2

    IBM has comprehensive documentation on WebSphere and DB2 UDB administration, from setting up a test system, to building a huge cluster with high availability support. This article gives you specific instructions on how to set up the benchmark in the simplest possible multi-tier configuration and serves as a basis for you if you are interested in moving on to more advanced cluster topologies and performance work.

Prerequisites

Hardware

For learning purposes, any model Intel Windows desktop machine will do. We used five identitical eServers listed below in developing the material for this article:

  • IBM eServer™ x330
  • 2 x 1.4 GHz CPUs
  • 3 GB memory

Software

  • Microsoft® Windows 2000 Server Services Pack 4
  • IBM DB2 UDB v8.2 (See Resources.)
  • IBM WebSphere Application Server Network Deployment V6.0 (See Resources.)
  • SPECjAppServer2004 v1.06 benchmark kit (See Resources.)
  • SPECjAppServer2004 configuration scripts
  • ActiveState PERL v5.8.0 (See Resources.)

Topology

The following sections go through the steps of partitioning a sandbox into a multi-tier configuration. Figure 2 shows a sandbox topology and a multi-tier setup:

Figure 2. Sandbox to multi-tier configuration
Sandbox to multi-tier configuration

Set up the SPECjAppServer sandbox

Before you start, make sure that SPECjAppServer sandbox is up and running on one of the machines. Please refer to the article ""Set up a WebSphere V6 SPECjAppServer cluster with DB2 UDB" for setup instructions.


Distribute the SPECjAppServer benchmark kit

The SPECjAppServer benchmark kit is needed on all the machines in the cluster. Copy the the SPECjAppServer2004 kit directory from the sandbox machine to all other machines.

net use t: \\specjwas\c$
xcopy t:\SPECjAppServer2004 c:\SPECjAppServer2004 /s

Unzip the configuration scripts

Download the ZIP file from Downloads to all the machines and extract the content into C:\SPECjAppServer2004\script. There are five user files in the package:

  • specj04_env.pl
  • specj04_dbsetup.pl
  • specj04_addmember.pl
  • specj04_emulatorsetup.pl
  • specj04_drvsetup.pl

The specj04_env.pl file consists of the parameters for the setup. The specj04_dbsetup.pl script is used to create the SPECjAppServer database. The specj04_addmember.pl script handles all the configuration on the deployment manager to add a cluster member. The specj04_emulatorsetup.pl is used to deploy the emulator. The specj04_drvsetup.pl script takes care of the SPECjAppServer benchmark driver setup.


Configure a remote DB2 server

Install DB2

Go to the dedicated database machine and install DB2 on the remote database machine, just as you installed DB2 on the sandbox.

Build the database

To build the database, specify the parameters by editing the specj04_env.pl file and run perl specjdbsetup.pl from a DB2 Command Window on the database machine.

The file specj04_env.pl must be modified to match the environment settings on the remote database machine. If you have been following the guide and have taken the suggested install paths and settings, you will not have to modify much from the following list of parameters:

Listing 1. Remote database configuration parameters
                #---------------------------------------------
# Server install directories
#---------------------------------------------
$SpecjKitHome='c:/SPECjAppServer2004';
$JavaHome='c:/sqllib/java/jdk';

$HostFileHome='c:/WINNT/system32/drivers/etc';

$Db2Home='c:/SQLLIB';
$Db2Hostname='pizza25'; # Hostname of the db machine
$Db2PortNumber='50001'; # Use this port, or specify another that is not in use
$Db2DatabaseName='specdb';
$Db2User='spec';
$Db2Password='ch4ng3me';

#---------------------------------------------
# Database and log directories
#---------------------------------------------
$SpecjDbDir='c:/specdb';
$SpecjLogDir='c:/speclog';
$SpecjPipe='c:/temp';

#---------------------------------------------
# Machine IP addresses
#---------------------------------------------
$DeliveryIPaddr='9.26.97.113'; # IP address of the DMgr machine
$EmulatorIPaddr='9.26.97.113'; # IP address of the emulator machine
$DatabaseIPaddr='9.26.99.0'; # IP address of the Database machine

The script not only creates the database, but it also dumps out information for problem determination. It is always wise to pipe the output to a file for problem determination, if applicable.

Listing 2. Remote database configuration parameters
                select count(*) from C_CUSTOMER

1
-----------
      15000

  1 record(s) selected.

Point WebSphere to the remote database

Now you need to update the database information on the deployment manager. Open a browser and go to http://specdelivery:9060/ibm/console. Click Log in -> Resources -> JDBC Providers -> DB2 Universal JDBC Driver Provider -> Data Sources. For each data source, update the database hostname with the new hostname. In addition, if the current username and password for the database is different on the new machine, that must be updated as well. Click on Log in -> Security -> Global Security -> JAAS Configuration -> J2C Authentication Configuration -> SPECjDataSourceAuthData to update the user and password.

Figure 3. Data source properties
Data source properties
Figure 4. Database logon properties
Database logon properties

Update the host aliases

The SPECjAppServer application uses the IP addresses to host names mapping in the OS hosts file to resolve the database, emulator, and delivery system. The specdb alias points to the database machine, the specemulator alias points to the emulator machine, and the specdelivery alias points to the deilvery system (deployment manager in our case). Now, the database is on a separate machine. Make sure that you update the specdb alias in the hosts file.

Listing 3. Remote database configuration parameters
                C:\WINNT\system32\drivers\etc>type hosts
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host
9.26.97.113 specdelivery
9.26.97.113 specemulator
9.26.99.0 specdb

Add a WebSphere cluster member

Install a new WebSphere node

Install WebSphere node on the new application server machine like you installed it on the sandbox. This time DON'T create a deployment manager profile. Instead, create a custom profile called "Custom01" under C:\was6\o0445.08_nd\profiles\Custom01. At this point, the custom profile does not have any applications servers. You will install one at a later step.

Federate the WebSphere node

To add the node to a cluster, you must first federate the node to the deployment manager. Run addNode.bat <ip address>, where ip address is the address of the deployment manager.

Listing 5. Federate node to DM
                C:\was6\o0445.08_nd\profiles\Custom01\bin>addNode.bat 9.26.97.113
ADMU0116I: Tool information is being logged in file
           C:\was6\o0445.08_nd\profiles\Custom01\logs\addNode.log
ADMU0001I: Begin federation of node pizza26Node01 with Deployment Manager at
           9.26.97.113:8879.
ADMU0009I: Successfully connected to Deployment Manager Server:
           9.26.97.113:8879
ADMU0507I: No servers found in configuration under:
           C:\was6\o0445.08_nd/profiles/Custom01\config/cells/pizza26Node01Cell/
nodes/pizza26Node01/servers
ADMU2010I: Stopping all server processes for node pizza26Node01
ADMU0024I: Deleting the old backup directory.
ADMU0015I: Backing up the original cell repository.
ADMU0012I: Creating Node Agent configuration for node: pizza26Node01
ADMU0014I: Adding node pizza26Node01 configuration to cell: pizza25Cell01
ADMU0016I: Synchronizing configuration between node and cell.
ADMU0018I: Launching Node Agent process for node: pizza26Node01
ADMU0020I: Reading configuration for Node Agent process: nodeagent
ADMU0022I: Node Agent launched. Waiting for initialization status.
ADMU0030I: Node Agent initialization completed successfully. Process id is:
           4220
ADMU9990I:
ADMU0300I: Congratulations! Your node pizza26Node01 has been successfully
           incorporated into the pizza25Cell01 cell.
ADMU9990I:
ADMU0306I: Be aware:
ADMU0302I: Any cell-level documents from the standalone pizza26Node01Cell
           configuration have not been migrated to the new cell.
ADMU0307I: You might want to:
ADMU0303I: Update the configuration on the pizza25Cell01 Deployment Manager
           with values from the old cell-level documents.
ADMU9990I:
ADMU0306I: Be aware:
ADMU0304I: Because -includeapps was not specified, applications installed on
           the standalone node were not installed on the new cell.
ADMU0307I: You might want to:
ADMU0305I: Install applications onto the pizza25Cell01 cell using wsadmin
           $AdminApp or the Administrative Console.
ADMU9990I:
ADMU0003I: Node pizza26Node01 has been successfully federated.

JDBC driver class files

The jdbc class files must be placed in the same directory structure as that on the deployment manager. To keep things simple, copy the jdbc class files to C:\sqllib\java\, creating the directories as necessary. The following are the required class files required by the driver:

Listing 6. Copy JDBC class files
                C:\SQLLIB\java>net use * \\pizza25\c$ /u:spec
The password is invalid for \\pizza25\c$.

Type the password for \\pizza25\c$:
Drive I: is now connected to \\pizza25\c$.

The command completed successfully.

C:\SQLLIB\java>xcopy /y i:\SQLLIB\java\*.jar c:\SQLLIB\java
I:\SQLLIB\java\Common.jar
I:\SQLLIB\java\db2fs.jar
I:\SQLLIB\java\db2jcc.jar
I:\SQLLIB\java\db2jcc_javax.jar
I:\SQLLIB\java\db2jcc_license_cisuz.jar
I:\SQLLIB\java\db2jcc_license_cu.jar
I:\SQLLIB\java\db2policy.jar
I:\SQLLIB\java\db2qgjava.jar
8 File(s) copied

To add additional nodes, repeat the above steps for installing a WebSphere node.

Create a WebSphere cluster member

Now that the deployment manager is aware of the available nodes, application servers can be created and added to the cluster. To create a new cluster member, specify the parameters by editing the specj04_env.pl file and run perl specj04_addmember.pl from a DB2 command window on the deployment manager machine.

You will be prompted for the hostname of a node to add to the cluster, followed by the name of the server you wish to give it. Simply press Enter to access the default name in square brackets, but make sure that each server name is unique. Lastly, you will be prompted to add more nodes. Enter yes if you have more nodes to add and the process will be repeated again.

Listing 7. Add cluster member
                Please enter the hostname to add to the cluster:
pizza26
Please enter the server name for the new cluster member [SPECj04Server2]:

Add more cluster members (yes|no) [yes]:
no

Once all the nodes have been registered, the script will continue to create an application server for each node and add it to the cluster. To verify that the cluster member has been added successfully, use the WebSphere administration console to stop and start each cluster member. Open a browser and connect to http://specdelivery:9060/ibm/console/. Click the following: Log in -> Servers -> Application servers. Then start each server and stop each server.

Update the host aliases

Now you have a new WebSphere machine. Make sure that you add the specdelivery, specemulator, and specdb entries to the hosts file.

Listing 8. Remote database configuration parameters
                C:\WINNT\system32\drivers\etc>type hosts
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host
9.26.97.113 specdelivery
9.26.97.113 specemulator
9.26.99.0 specdb

Install IHS & WebSphere plug-ins

IBM HTTP server and the WebSphere plug-ins are required to facilitate communication between the driver, deployment manager, nodes, and emulator. Before installing the IBM HTTP server, you first need to generate the WebSphere plug-ins file for it. Go to the Deployment Manager machine and execute the following C:\was6\o0445.08_nd\bin\GenPluginCfg.bat. Make note of the location of the configuration file.

Listing 9. Generate plug-in configuration file
                C:\was6\o0445.08_nd\bin>GenPluginCfg.bat

IBM WebSphere Application Server, Release 6.0
WebSphere Plugin Configuration Generator
Copyright IBM Corp., 1997-2004

PLGC0012I: The plug-in is generating a server plug-in configuration file using
the cluster definition pizza25Cell01.


PLGC0005I: Plug-in configuration file = C:\was6\o0445.08_nd/profiles/Dmgr01\conf
ig\cells\plugin-cfg.xml

IBM HTTP server and the WebSphere plug-ins are included with the Deployment Manager installation package. Simply start the launchpad and install IBM IHS to C:\was6\o0445.08_http, making sure to accept the default settings. Launch the WebSphere plug-in installation when prompted. During installation of the WebSphere plug-ins, select IBM HTTP Server V6 and Web server (remote) when prompted. Install the plug-ins to C:\was6\Plugins. You will then be prompted for the location of the httpd.conf file, as well as the plugin-cfg.xml file, which you generated above. If you have been following this guide, then the location of the files should be as follows:

  • C:\was6\o0445.08_http\conf\httpd.conf
  • C:\was6\o0445.08_nd\profiles\Dmgr01\config\cells\plugin-cfg.xml

Verify installation of the HTTP server by starting and stopping it. Make sure to start it back up after testing it.

Listing 10. Verify install of IHS
                C:\was6\o0445.08_http\bin>apache -k start

C:\was6\o0445.08_http\bin>apache -k stop
The IBM HTTP Server 6.0 service is stopping.
The IBM HTTP Server 6.0 service has stopped.

C:\was6\o0445.08_http\bin>apache -k start

C:\was6\o0445.08_http\bin>

Configure a remote emulator

Before installing a remote emulator, you must first uninstall the emulator on the deployment manager. To do this, open a browser and connect to the WebSphere administration console at http://specdelivery:9060/ibm/console/. Click the following: Log in -> Applications -> Enterprise Applications. Select EmulatorEAR and click Uninstall. Save and synchronize the changes with the nodes.

Go to the driver box and install WebSphere ND to C:\was6\o0445.08_nd. During the installation you will be prompted to create some profiles. This time, only create an application profile called "AppSrv01" under C:\was6\o0445.08_nd\profiles\AppSrv01. This will create a default server called server1.

Provide emulator configuration parameter

The only parameters that may require modification are the WebSphere profile path, the host file path, the cluster specification, and the ip addresses.

Listing 11. Emulator configuration parameters
                $WasHome='c:/was6/o0445.08_nd/profiles/AppSrv01'; # Profile path

$HostFileHome='c:/WINNT/system32/drivers/etc';

$Cluster=0;

#---------------------------------------------
# Machine IP addresses
#---------------------------------------------
$DeliveryIPaddr='9.26.97.113';
$EmulatorIPaddr='9.26.97.139';
$DatabaseIPaddr='9.26.97.115';

Make sure to change the cluster variable to zero, as the emulator will operate as an external entity to simulate a real world application. To install the emulator, simply run perl specj04_emulator.pl.

Listing 12. Emulator install
                ADMA5013I: Application EmulatorEAR installed successfully.
Install completed successfully!

------------------------------------------------
 Emulator Installation Completed!!!
------------------------------------------------

Verify that the emulator has been installed successfully by opening a browser and going to http://specemulator:9080/Emulator/EmulatorServlet. If the installation was successful, you should see a page similar to the following:

Listing 13. Emulator servlet page
                Emulator Servlet seems to work OK
JAS_HOST : specdelivery
JAS_PORT : 9080
Servlet URL : Supplier/DeliveryServlet

Number of Transactions : 0
Servlet invoked without command specified

Update the host aliases

Now you have a new remote emulator machine. Make sure that you update the specemulator entry in the hosts file for all the machines.

Listing 14. Remote database configuration parameters
                C:\WINNT\system32\drivers\etc>type hosts
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host
9.26.97.113 specdelivery
9.26.97.139 specemulator
9.26.99.0 specdb

Port resolution for enterprise applications

Port update on deployment manager

On the deployment manager, the specdelivery port number in the supplier.jar dirctory needs to be updated.

Go to the deployment manager machine and open C:\was6\o0445.08_nd\profiles\Dmgr01\config\cells\pizza25Cell01\applications\SPECjAppServer.ear\deployments\SPECjAppServer\supplier.jar\META-INF\ejb-jar.xml. Search for specdelivery and update the port number from 9080 to 80, since you are using IHS now. The changed line should look like the following:

Listing 15. Change to ejb-jar.xml
                <env-entry-value>http://specdelivery:80/Supplier/dtd/po.dtd</env-entry-value>

Stop and start the deployment manager to propagate the change across all nodes.

Port update on cluster members

On each cluster member, the specdelivery port number in the supplier.jar file needs to be updated.

Go to each of the cluster member machine and open C:\was6\o0445.08_nd\profiles\Custom01\installedApps\pizza25Cell01\SPECjAppServe.ear\supplier.jar using Winzip or WinRAR.

Modify the file META-INF\ejb-jar.xml by searching for specdelivery and changing the port number from 9080 to 80, like you did for the deployment manager above.

Once all changes have been made on the cluster members, stop and start the application servers using the WebSphere administration console.

Port update on driver

Copy the jar files from one of the cluster members to the driver machine, making sure to create the directory SPECjAppServer.ear in the path indicated below.

On the cluster member machine, the path is C:\was6\o0445.08_nd\profiles\Custom01\installedApps\pizza25Cell01\SPECjAppServer.ear\*.jar.

On the driver machine, the path is C:\was6\o0445.08_nd\profiles\AppSrv01\installedApps\pizza27Node01Cell\SPECjAppServer.ear\.

Make sure to change pizza25 above to the hostname of your deployment manager machine.

Make sure to change pizza27 above to the hostname of your driver/emulator machine.

Listing 16. Copy the deployed classes
                corp.jar
mfg.jar
orders.jar
supplier.jar
util.jar
xercesImpl.jar
xmlParserAPIs.jar
        7 file(s) copied.

Port update on emulator

On the emulator machine, the supplier port in the web.xml file needs to be updated. There are two web.xml files.

The first one is located in C:\was6\o0445.08_nd\profiles\AppSrv01\config\cells\pizza27Node01Cell\applications\EmulatorEAR.ear\deployments\EmulatorEAR\Emulator.war\WEB-INF\web.xml. Search for supplier.port and change the port number from 9080 to 80. The changed line should look like the following:

Listing 17. Change to web.xml
                <param-name>supplier.port</param-name>
<param-value>80</param-value>

The second is located in C:\was6\o0445.08_nd\profiles\AppSrv01\installedApps\pizza27Node01Cell\EmulatorEAR.ear\Emulator.war\WEB-INF\web.xml. Search for supplier.port and change the port number from 9080 to 80 just like the first web.xml file.

Stop and start the application server, server1, for the emulator machine. Verify that the port has been updated by opening a browser and going to http://specemulator:9080/Emulator/EmulatorServlet. You should see a page similar to the following:

Listing 18. Emulator servlet page
                Emulator Servlet seems to work OK
JAS_HOST : specdelivery
JAS_PORT : 80
Servlet URL : Supplier/DeliveryServlet

Number of Transactions : 0
Servlet invoked without command specified

Notice that the JAS_PORT is now 80.


Put it all together

The file specj04_env.pl must be modified to match the environment settings on the remote driver machine. If you have been following the guide and have taken the suggested install paths and settings, you will not have to modify much from the following list of parameters:

Listing 19. Driver configuration parameters
                #---------------------------------------------
# Server install directories
#---------------------------------------------
$SpecjKitHome='c:/SPECjAppServer2004';
$JavaHome='c:/was6/o0445.08_nd/java';
$J2eeHome='c:/was6/o0445.08_nd';
$WasHome='c:/was6/o0445.08_nd/profiles/AppSrv01'; # Profile path

$RmiCommand='c:/was6/o0445.08_nd/java/jre/bin/rmiregistry';
$HostFileHome='c:/WINNT/system32/drivers/etc';

$Cluster=0;
$Sandbox=0;

#---------------------------------------------
# Machine IP addresses
#---------------------------------------------
$DeliveryIPaddr='9.26.97.113';
$EmulatorIPaddr='9.26.97.139';
$DatabaseIPaddr='9.26.99.0';

Notice that the $Cluster and $Sandbox settings are both set to zero.

To verify the cluster setup, go to the driver machine and run perl specj04_drvsetup.pl.

Listing 20. Start a run
                The following environment settings are in effect for SPECjAppServer2004
* ========================= *
   JAVA_HOME=c:/was6/o0445.08_nd/java
    JAS_HOME=c:/SPECjAppServer2004
  CONFIG_DIR=c:/SPECjAppServer2004\config
  APPSSERVER=default
* ========================= *
The following environment settings are in effect for SPECjAppServer2004
* ========================= *
   JAVA_HOME=c:/was6/o0445.08_nd/java
    JAS_HOME=c:/SPECjAppServer2004
  CONFIG_DIR=c:/SPECjAppServer2004/config
  APPSSERVER=default
     ENVFILE=c:/SPECjAppServer2004\config\default.env
* ========================= *
Driver Host: PIZZA25
Binding controller to //pizza25/Controller
DriverDebug: DealerAgent <propsFile> <agentName> <masterMachine>
Controller: Registering O1 on machine 9.26.97.113
Calling switchLog as master
Controller: Registering L1 on machine 9.26.97.113
Controller: Registering M1 on machine 9.26.97.113
RunID for this run is : 9
Output directory for this run is : c:/SPECjAppServer2004/output\9
TTF1 = 103
ttf = 103
Configuring 1 DealerAgent(s)...
DealerAgent O1, Thread 0 started
DealerAgent O1, Thread 1 started
DealerAgent O1, Thread 2 started
DealerAgent O1, Thread 3 started
DealerAgent O1, Thread 4 started
DealerAgent O1, Thread 5 started
DealerAgent O1, Thread 6 started
DealerAgent O1, Thread 7 started
DealerAgent O1, Thread 8 started
DealerAgent O1, Thread 9 started
DealerAgent O1, Thread 10 started
DealerAgent O1, Thread 11 started
DealerAgent O1, Thread 12 started
DealerAgent O1, Thread 13 started
DealerAgent O1, Thread 14 started
DealerAgent O1, Thread 15 started
DealerAgent O1, Thread 16 started
DealerAgent O1, Thread 17 started
DealerAgent O1, Thread 18 started
DealerAgent O1, Thread 19 started
Configuring 1 MfgAgent(s)...
MfgAgent M1, Thread 0 started
MfgAgent M1, Thread 1 started
MfgAgent M1, Thread 2 started
MfgAgent M1, Thread 3 started
MfgAgent M1, Thread 4 started
MfgAgent M1, Thread 5 started
Configuring 1 LargeOLAgent(s)...


MfgAgent L1, Thread 0 started
Rampup      = Fri Jun 24 11:56:29 EDT 2005
SteadyState = Fri Jun 24 11:57:29 EDT 2005
Rampdown    = Fri Jun 24 11:58:29 EDT 2005
Finish      = Fri Jun 24 11:58:39 EDT 2005

sleeptime is 26782 note this is time in excess needed for trigger 
MfgAgent L1, Thread 0 started
Starting  O1:0:  at 30793   EndRampUp is at  90797
Starting  O1:1:  at 30887   EndRampUp is at  90797
Starting  O1:2:  at 30981   EndRampUp is at  90797
Starting  O1:3:  at 31090   EndRampUp is at  90797
Starting  O1:4:  at 31184   EndRampUp is at  90797
Starting  O1:5:  at 31293   EndRampUp is at  90797
Starting  O1:6:  at 31387   EndRampUp is at  90797
Starting  O1:7:  at 31496   EndRampUp is at  90797
Starting  O1:8:  at 31590   EndRampUp is at  90797
Starting  O1:9:  at 31699   EndRampUp is at  90797
Starting  O1:10:  at 31793   EndRampUp is at  90797
Starting  O1:11:  at 31903   EndRampUp is at  90797
Starting  O1:12:  at 31996   EndRampUp is at  90797
Starting  O1:13:  at 32090   EndRampUp is at  90797
Starting  O1:14:  at 32184   EndRampUp is at  90797
Starting  O1:15:  at 32293   EndRampUp is at  90797
Starting  O1:16:  at 32403   EndRampUp is at  90797
Starting  O1:17:  at 32496   EndRampUp is at  90797
Starting  O1:18:  at 32606   EndRampUp is at  90797
Starting  O1:19:  at 32684   EndRampUp is at  90797
Gathering DealerStats ...
Gathering MfgStats ...
summary file is c:/SPECjAppServer2004/output\9\SPECjAppServer.summary
Calling getLog as master

All the results are stored under the c:\SPECjAppServer2004\output directory. Now you can go and check out your first set of results.


Conclusion

In this article, you have taken the steps required to extend a SPECjAppServer2004 sandbox to a multi-tier cluster. The experiences built up here should help you move on to more advanced clustering topologies and further stress the DB2 server to its physical limit. Setting up an enterprise e-business system is an engineering project. With the incremental approach described in this article, a SPECjAppServer2004 cluster can be easy.

Acknowledgements

We would like to thank Peter Shum, the manager of DB2 WebSphere Performance team for his expert advice on benchmarking.

We would also like to thank Richard Tsang from the DB2 Performance team for his help with ironing out the scripts and the input to the documentation.


Downloads

DescriptionNameSize
SPECjAppServer2004 config script for WebSphere V6scripts.zip26KB
SPECjAppServer2004 EAR for WebSphere V6ear.zip2.8MB

Resources

Learn

Get products and technologies

  • Get ActiveState at ActiveState ActivePerl.
  • Download a free trial version of DB2 Universal Database Enterprise Server Edition.
  • Now you can use DB2 for free. Download DB2 Express-C, a no-charge version of DB2 Express Edition for the community that offers the same core data features as DB2 Express Edtion and provides a solid base to build and deploy applications.
  • Build your next development project with IBM trial software, available for download directly from developerWorks.

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your profile (name, country/region, and company) is displayed to the public and will accompany any content you post. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Information management on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Information Management, WebSphere
ArticleID=127308
ArticleTitle=Set up a multi-tier WebSphere V6 SPECjAppServer2004 cluster with DB2 on Windows
publish-date=06082006