A tool set for learning how to load test web applications.
JavaScript Python Puppet Shell Ruby
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.




Author:Tom Purl <tom@tompurl.com>


A complete system for that you can use to learn about load-testing and improving web application performance.

Quick Start


  1. Install VirtualBox
  2. Install Vagrant
  3. Install The Grinder
  4. Install Jython 2.5.2

Create The VM

$ cd src # or anywhere, it doesn't really matter
$ git clone git://github.com/tompurl/wideload.git
$ cd wideload
$ git submodule init
$ git submodule update
$ cd server
$ vagrant box add precise32 http://files.vagrantup.com/precise32.box
$ vagrant up
# Now grab a cup of coffee and wait until everything is provisioned.
# View the monit page to see if everything was started properly
$ firefox http://localhost:2813

Run The Example Load Test

$ cd ~/src/wideload
$ cd ./loadgen
# Update the shell scripts to point at the installation locations of Jython
#>and The Grinder.
$ ./bin/startConsole.sh
# Wait for Grinder console GUI to appear
$ ./bin/startAgent.sh
# Click on Action -> Start Processes in the Grinder Console
# Click on OK in the dialog box
# Watch the load test results on the Results tab
# This test will run as long as you want it to. To stop it, click on
#>Action -> Stop Processes.
# Click on OK in the dialog box
# Generate your report:
$ ./bin/genDefaultReport.sh
# View your report
$ ./bin/viewReport.sh
# View runtime statistics in Graphite
$ firefox http://localhost:8082



The goal of this project is to create a VM that has everything that you need to load-test a Java-based web application, including the following:

  • The Java-based web app
  • The app server
  • Monitoring software
  • Load-testing software

The VM will be defined and created using Vagrant and Puppet.

Please note that this is a work in progress.


This project if fully functional with a few bugs. The major gaps now are in documentation.

Detailed Setup And Usage Instructions

I'm working on a set of tutorials to help people setup, use, and learn from this system. It is in a very early stage now and can be found at the following location:

Why Wide Load?

Because it's load testing tool that has a lot of different components that make the system very broad.