Workload description
For our performance tests, we used two workload applications, which had different architectures. We used Trade 6 and the IBM® Relational Warehouse Workload (IRWW).
Trade 6
The IBM Trade Performance Benchmark Sample for WebSphere® Application Server (otherwise known as Trade 6) is the fourth generation of the WebSphere end-to-end benchmark and performance sample application. The Trade benchmark is designed and developed to cover the significantly expanding programming model and performance technologies associated with WebSphere Application Server. This application provides a real-world workload, enabling performance research and verification tests of the Java™ 2 Platform, Enterprise Edition (J2EETM) 1.4 implementation in WebSphere Application Server, including key performance components and features.
Overall, the Trade application is primarily used for performance research on a wide range of software components and platforms. The latest revision of Trade builds off of Trade 3, by moving from the J2EE 1.3 programming model to the J2EE 1.4 model that is supported by WebSphere Application Server V6.0. Trade 6 adds DistributedMap based data caching in addition to the command bean caching that is used in Trade 3. Otherwise, the implementation and workflow of the Trade application remains unchanged.
Trade’s new design enables performance research on J2EE 1.4 including the new Enterprise JavaBeans™ (EJB) 2.1 component architecture, message-driven beans, transactions (1-phase, 2-phase commit) and Web services (SOAP, WSDL, JAX-RPC, enterprise Web services). Trade 6 also drives key WebSphere Application Server performance components such as dynamic caching, WebSphere Edge Server, and EJB caching.
Figure 1 shows the J2EE components that make up the Trade application.

Trade 6 topology overview
- EJB - Database access uses EJB 2.1 technology to drive transactional trading operations.
- Direct - Uses database and messaging access through direct JDBC and JMS code.
The J2EE programming model provides managed, object-based EJB components. The EJB container provides declarative services for these components such as persistence, transactions, and security. The J2EE programming model also supports low-level APIs such as JDBC and JMS. These APIs provide direct access to resource managers such as database and message servers.
For this test environment we used only the Direct mode.
For the tests described in this paper the Trade 6 database was populated with 4000 user IDs and 2000 stock quotes.
IRWW
IRWW is an OLTP workload that consists of seven transactions. Each transaction consists of one to many SQL statements, each performing a distinct business function in a predefined mix.
- Neworder
- Performs various SELECTS, FETCHES, UPDATES, and INSERTS in support of the receipt of new customer orders and runs as 22% of the total transaction mix.
- Order Status
- Performs various SELECTS and FETCHES in support of providing the status of an order and runs as 24% of the total transaction mix.
- Payment
- Performs SELECTS, FETCHES, UPDATES, and INSERTS in support of recieved customer payments and runs at 22% of the total transaction mix.
- Price Change
- Performs an UPDATE in support of changing the price of an item and runs as 1% of the total transaction mix.
- Price Quote
- Performs various SELECTS in support of providing the price of a set of items and runs as 25% of the total transaction mix.
- Stock Level
- Performs a JOIN and various SELECTS in support of providing the current stock level of an item and runs at 4% of the mix.
- Delivery
- Performs various SELECTS, UPDATES, and DELETES in support of the delivery of a group of orders and runs as 2% of the total transaction mix.
The IRWW database that we built contained 8 inventory stock warehouses and 10 sales districts.