siege with webserver

testing your webserver with siege

First, youll need to untar the package:
$ tar xvzf siege-latest.tar.gz

Then youll need to configure it; the default configuration is a good start:
$ ./configure

Configuration help is available with the -help suffix. The only one that I’ve personally added on is SSL support through the -with-ssl=/usr/local/ssl suffix.

Next, its time to compile and install:
$ make
$ make install

Laying Siege
Siege has a lot of options for how to “lay siege” against a Web server. The simplest and easiest way to get a feel for the program is to do a test against a single URL. The single URL test is also a good indication of how a particular page will hold up against a slashdot effect or other similar massive traffic driver.

Two critical options that need to be set are the number of concurrent users (-c, default is 10) and the duration of the test in terms of either repetitive queries or time (-t). Lets start with a simple example of 25 concurrent users for one minute.
$ siege -c25 -t1M
** Siege 2.59
** Preparing 25 concurrent users for battle.
The server is now under siege…

Lifting the server siege…done.
Transactions: 84290 hits
Availability: 100.00 %
Elapsed time: 1302.49 secs
Data transferred: 31083241 bytes
Response time: 2.97 secs
Transaction rate: 64.71 trans/sec
Throughput: 23864.48 bytes/sec
Concurrency: 192.05
Successful transactions: 84290
Failed transactions: 0
Longest transaction: 785.32
Shortest transaction: 0.03