I used these tools heavily to performance test WSO2 open source products. While doing so I understood that the performance test tool, usually the load generator is not alone adequate to fulfill my performance test requirements. Load generation is only a part of my requirement. The bigger picture required a systematic approach to performance testing which, none of these tools alone could fulfill. So what are my requirements?
- Provide easy to use standard configuration system so that tests could be configured easily.
- A standard way to provide my input for the tests
- A standard way to collect output from my tests.
- Way to collect system statistics while running the tests
- Automate the whole process. Just provide input data, required configuration and run the test. That’s it. Then collect the results
- A standard way to organize tests and the results
Commercially avaiable performance testing tools provide some or all of these requirements but for a very high cost. The name of the framework I implemented with Eranda to fulfill above requirements, is Ravana. Ravana will be released during next couple of weeks licensed with GPL. Ravana will be released with helpful documentation that will get you familiar with Ravana immediately.
Using Ravana is simple. All your input, configuration, output for a particular test scenario will come under one test scenario you define. You just need to define your input, configuration under that scenario and then run the test.
With Ravana you can use one of httperf, java bench or apache bench as the load generator. It also support a JMS load generator.
If you are too curious and need immediately try Ravana, check it out from https://svn.wso2.org/repos/wso2/branches/commons/performance-tools/ravana2. The code in svn is pretty stable now.