I was tasked with load testing our web application for a specific scenario (users submitting timesheets), and it was suggested I look at
ab(1), Apache Benchmark, to do the job.
However, in our case, each request had to be slightly different and
ab(1) can only fire a single request repeatedly at the server, a limitation that meant it was not suitable for the job.
So I decided to write my own tool to do the job, an called it
Alien supports simple requests, like
ab(1), out of the box. However to vary the requests or even have a conversation with the target server, a test module must be written.
Alien has a basic request module built in that is used as the default if no module is supplied.
ab(1) alien can run requests sequentially or concurrently or a mix of both. Alien can also run multiple tests (or conversations) concurrently.
More details about how to use alien, and how to write test modules can be found in the README of the github project.