- Run siege with an ever-increasing number of users
- An http/https stress tester
- Builds a .siegerc template in the user's home directory.
- Convert output from bombardment(1) to comma separated values (csv)
- Url database for regression testing
- An http/https stress tester was designed orignally as a internet usage simulator. in short, its role was to simulate the activity of many simultaneous users hitting a http server. we were debugging some java code and during that process we arrived at a point where the code could withstand an acceptable number of users hitting a single url but it could not withstand the seemingly random activity that characterizes many users hitting many urls on a webserver. in order to debug the problem in a lab environment, i developed a program that simply read a bunch of urls ( we used images, scripts, static html, jsps, etc. ) into memory and hit them randomly. the result was a success. we were able to break the code in the lab, an occurance which ultimately allowed us to fix it and put it into production. as the developers code improved, siege improved until we ultimately had good java code and a pretty decent regression tool. it was helpful for us, i hope it is helpful to you. in order to feel comfortable putting code into production, you need a way to measure its performance and to determine its threshold for failure. if you break your database pool at 250 simultaneous users and you average less then one-hundred simultaneous users and the code performs favorably, you can feel good about putting it into production. at the same time, if you should monitor trends in your site's activity and prepare for the moment when your traffic starts to near your threshold for failure. as a webdeveloper or websystems administrator you have little to no control over your user group. they can visit your site anytime day or night. your domain name could resemble a popular site, yoohoo.com? and when was the last time marketing informed you about an approaching advertising blitz? you must be prepared for anything. that is why stress and performance testing is so important. i would not recommend putting anything into production until you have a good feel for how it will perform under duress.