Benchmarking


DayTrader provides two servlets to create a workload for benchmarking: TradeApp servlet and TradeScenario servlet. In either case, the load generation tool used to drive the Trade workload must provide cookie support to handle HTTP sessions.

TradeApp servlet provides the standard web interface and can be accessed with the Go Trade! link. Driving benchmark load using this interface requires a sophisticated web load generator that is capable of filling HTML forms and posting dynamic data.

TradeScenario servlet emulates a population of web users by generating a specific Trade operation for a randomly chosen user on each access to the URL. Test this servlet by clicking Trade Scenario and hit "Reload" on your browser to step through a Trade Scenario. To benchmark using this URL aim your favorite web load generator at the Trade Scenario URL and fire away.

There is a drawback to using the Trade Scenario servlet to drive the workload versus using a series of more complicated load scripts. As previously mentioned, the scenario servlet is responsible for managing clients and emulating user operations by dispatching simple client requests to complex Trade actions. This causes the application server to spend a large percentage of time performing work that would typically be handled by a client or a more complex load driver. Consequently, performance numbers are artificially deflated when using Trade Scenario servlet as compared to driving the workload directly.

Web Primitive Benchmarking

A set of automated Web Primitives is also provided. The web primitives leverage the DayTrader infrastructure to test specific features of the web application development environment. This provides basic workloads for servlets, JSPs, EJBs, MDBs and more. The Web Primitives are installed automatically with the daytrader configuration archive.