Load and Stress tests are a vital thing to do when developing web applications, intranet or community systems. During our development on xelos.net we do performance tests on a regular basis to ensure that the software is running as smoothly as possible on the hardware given. The data and insights we gain from those loadtests tell us roughly how many cluster nodes a specific setup might need (or wether it can run on a single box). Although loadtests cannot foresee every case in the real world, you can still see how many users a software/hardware combination is likely to handle well and when it’s bound to fail for sure.
When we looked for a good stress-testing plattform we decided to use TSUNG – an open-source multi-protocol distributed load testing tool. The major features we like on tsung is the way to setup individual clickpaths to simulate different users and be able to literally have thousands of those users clicking through our loadtest setup. To make loadtesting easy and try out lots of different combinations, we’ve setup a cluster within Amazon EC2 (Sadly this setup got wiped out last week by the problems amazon had in its dublin datacentre – together with the recovery snapshots of course
).
So i’m not going to talk about this setup further, maybe sometime later when we recovered it.
TSUNG UI
One thing we had a backup from was our TSUNG UI though and thats a piece i’d like to make available today for anyone to make good use of. Tsung is usually managed with shellcommands and while the setup is straightforward, it’s always a bit tedious to work with it on a regurlar basis. We wanted our developers to be able to launch a test against their EC2 instance very easily and often. To make this a bit simpler we’ve wrapped the important shell commands to start a test and create the report into a few lines of PHP/mysql code (Please note that the code is from a backup and although i checked it through, there might still be a little bit tweaking for you to do).
You can setup different Test-Scenarios (individual config and clickpath xmls used by tsung) and add a run task for tsung over the GUI. An additional comment can be used to note changes you did to your target machine (we usually end up tweaking some parameters and repeat the process to compare the results). During the loadtest this interface will display status information on the running test. When the test is completed these script will automatically trigger the tsung_stats.pl and generate the html report. You can then access the report right from the gui.
Take me straight to the documentation and download: TSUNG GUI
