DayTrader benchmark application

DayTrader is an Open Source benchmark application emulating an online stock trading system. Users can log in and view their accounts or portfolios. In the Quotes/Trade section they can buy or sell stock shares out of their portfolios. The benchmark application is currently hosted by the Apache Geronimo project and was originally developed by IBM as the WebSphere® Trade performance benchmark. This benchmark was donated to the Apache Geronimo project in 2005.

DayTrader is an end-to-end Java™ Enterprise Edition (J2EE) web application composed of several Java classes, Java Servlets, Java Server Pages, Web Services and Enterprise Java Beans (EJB). Thus makes it an ideal benchmark application for measuring the scalability and performance of a J2EE application server like IBM WebSphere Application Server (WAS). The presentation layer is based on Java Servlets and Java Server Pages, whereas the back-end business logic uses Java database connectivity (JDBC), Java Message Service (JMS), EJB and Message Bean techniques. The TradeDatabase is hosted on the DB2® database server and is accessed via JDBC from the application server.

Users can be emulated with a workload driver and generate load against the DayTrader application.

For further details, see the DayTrader documentation at:

https://cwiki.apache.org/GMOxDOC30/daytrader-a-more-complex-application.html

The DayTrader benchmark application has been chosen as a competing workload for the Cognos BI Server workload. Therefore the SUT has three independent DayTrader installations capable of running three DayTrader workloads in parallel.

Two of them are setups where IHS, WAS, and the DB2 back-end database each run in separated z/VM® virtual machines (DayTrader triplets). The third one combines all components in a single z/VM virtual machine (DayTrader combo).

Adjusting the workload level

The number of users set in the workload generator is used to adjust the CPU load level for all three DayTrader benchmarks running in parallel. Likewise as for the Cognos BI Server, a few well-defined CPU load levels for DayTrader are required for performance testing.

Table 1. DayTrader CPU load levels
DayTrader CPU load levels Description
DayTrader25
  • workload runs with 5 users
  • approx. 25% of the available IFLs are used
  • low DayTrader CPU load level
DayTrader50
  • workload runs with 125 users
  • approx. 50% of the available IFLs are used
  • medium DayTrader CPU load level
DayTrader75
  • workload runs with 190 users
  • approx. 75% of the available IFLs are used
  • high DayTrader CPU load level