Home > HOWTOs > Load Testing ‘siege’ – Install and Usage

Load Testing ‘siege’ – Install and Usage

Installation Procedure.

First install prerequisites gcc/make on server. If Ubuntu
 sudo apt-get install gcc make
On Centos/Redhat
 sudo yum install gcc make
Step to Installation.
 $ ./configure
$ make
$ sudo make install
Files Installed.
 siege          -->    SIEGE_HOME/bin/siege
bombardment --> SIEGE_HOME/bin/bombardment
siege2csv --> SIEGE_HOME/bin/siege2csv
.siegerc --> $HOME/.siegerc
siege.1 --> SIEGE_HOME/man/man1/siege.1
bombardment.1 --> SIEGE_HOME/man/man1/bombardment.1
siege2csv.1 --> SIEGE_HOME/man/man1/siege2csv.1
layingsiege.1 --> SIEGE_HOME/man/man1/layingsiege.1
urls_text.1 --> SIEGE_HOME/man/man1/urls_txt.1
urls.txt --> SIEGE_HOME/etc/urls.txt
Usage for siege command.
 root@SIDCLB:~# siege
SIEGE 3.0.9
Usage: siege [options]
siege [options] URL
siege -g URL
-V, --version VERSION, prints the version number.
-h, --help HELP, prints this section.
-C, --config CONFIGURATION, show the current config.
-v, --verbose VERBOSE, prints notification to screen.
-q, --quiet QUIET turns verbose off and suppresses output.
-g, --get GET, pull down HTTP headers and display the
transaction. Great for application debugging.
-c, --concurrent=NUM CONCURRENT users, default is 10
-i, --internet INTERNET user simulation, hits URLs randomly.
-b, --benchmark BENCHMARK: no delays between requests.
-t, --time=NUMm TIMED testing where "m" is modifier S, M, or H
ex: --time=1H, one hour test.
-r, --reps=NUM REPS, number of times to run the test.
-f, --file=FILE FILE, select a specific URLS FILE.
-R, --rc=FILE RC, specify an siegerc file
-l, --log[=FILE] LOG to FILE. If FILE is not specified, the
default is used: PREFIX/var/siege.log
-m, --mark="text" MARK, mark the log file with a string.
-d, --delay=NUM Time DELAY, random delay before each requst
between 1 and NUM. (NOT COUNTED IN STATS)
-H, --header="text" Add a header to request (can be many)
-A, --user-agent="text" Sets User-Agent in request
-T, --content-type="text" Sets Content-Type in request
For more detailed information, consult the man pages:
 $ man siege
$ man layingsiege
$ man siege.config
All the siege man pages are also available online:
OR, read the html manual, doc/manual.html The manual is also available online:

Usage Procedure

Basic Commands

To test the GET request, you would run
 siege http://example.com/ -c 100 -r 100
To test the POST request, you would run
 siege -H 'Content-Type:application/json' "http://example.com/ POST < ./data.json" -c 10 -r 1000
Categories: HOWTOs
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: