|Author:||Tom Purl <email@example.com>|
A complete system for that you can use to learn about load-testing and improving web application performance.
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
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.