I’ve always wondered, how would my site deal if a lot of traffic got sent to it? Could I tune it to maximize the return based on the hardware it is running on? Sure, and Siege appears to be the answer.

This little tool is a great way to slap tons of load on your sever. You’ll need a testing computer (say, a personal computer with quite a bit of power), a decent connection, and your website. This is how you run it:

kelvin@home: siege -c350 -t30s http://www.thoughtdeposit.net/tipstricksandhacks/gtd-in-dashboard

And this will yield:

Transactions: 474 hits
Availability: 100.00 %
Elapsed time: 29.71 secs
Data transferred: 4.98 MB
\Response time: 11.09 secs
Transaction rate: 15.95 trans/sec
Throughput: 0.17 MB/sec
Concurrency: 176.86
Successful transactions: 474
Failed transactions: 0
Longest transaction: 29.18
Shortest transaction: 1.20

See, pretty nifty, eh? Do a man on Siege to find what each switch stands for. Also of interest is ApacheBench and jMeter. I have tested out jMeter, and it appears to be a very full testing tool. A good list can be found here

I have tested out lighttpd using this tool, and decided to switch back to Apache (for now!) I look forward to testing out Apache’s worker MPM with PHP, and see if that gives a performance boost. Will report on that later.

One Response to “Siege Your $#@ Back To The Stone Age”

  1. Ian Says:

    That *is* pretty nifty. But interpret those results for me, it seems like thought deposit can take 474 simultaneous hits with the slowest taking 30 seconds and having 100% availability. Where did that number come from, do you just flood it for a set number of seconds or specify a max number of hits?

    Edit:

    N/M, I see one of your command line switches was to have it run for 30secs.

Leave a Reply