Level: Intermediate Tony Lau (tktlau@ca.ibm.com), Software Engineer, IBM Meng Fu (mengfu@ca.ibm.com), Software Engineer, IBM
08 Jun 2006 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.
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
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
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
Figure 4. 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 | Description | Name | Size | Download method |
|---|
| SPECjAppServer2004 config script for WebSphere V6 | scripts.zip | 26KB | HTTP |
|---|
| SPECjAppServer2004 EAR for WebSphere V6 | ear.zip | 2.8MB | HTTP |
|---|
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
About the authors  | |  | 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 is a software engineer in IBM Toronto Lab. He has been a WebSphere administrator and scripting expert in the DB2 Performance team. |
Rate this page
|