• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

doc/H03-May-2022-3,0002,554

html/H16-Jul-2021-702585

include/H16-Jul-2021-1,8261,331

src/H03-May-2022-18,89013,529

utils/H16-Jul-2021-12,3729,888

AUTHORSH A D03-Jul-2021365 169

COPYINGH A D03-Jul-202134.3 KiB675553

ChangeLogH A D16-Jul-202114.5 KiB315263

INSTALLH A D03-Jul-20219.6 KiB222176

Makefile.amH A D03-May-20221.2 KiB377

Makefile.inH A D16-Jul-202124.8 KiB813719

README.mdH A D03-Jul-20215.6 KiB142111

acinclude.m4H A D03-Jul-2021240.1 KiB6,8806,180

aclocal.m4H A D03-Jul-202141.2 KiB1,1541,048

acspecific.m4H A D03-Jul-202132 KiB1,051924

configureH A D16-Jul-2021732.2 KiB23,21118,478

configure.acH A D03-May-202214 KiB534486

install-shH A D03-Jul-202110.7 KiB402248

README.md

1# Siege
2
3WHAT IS IT?
4-----------
5Siege is an open source regression test and benchmark utility.
6It can stress test a single URL with a user defined number of
7simulated users, or it can  read  many URLs into memory and
8stress them simultaneously. The program reports the total
9number of hits recorded, bytes transferred, response time,
10concurrency, and return status. Siege supports HTTP/1.0 and 1.1
11protocols, the GET and POST directives, cookies, transaction
12logging, and basic authentication. Its features are configurable
13on a per user basis.
14
15Most features are configurable with command line options which
16also include default values to minimize the complexity of the
17program's invocation.  Siege allows  you  to stress a web server
18with  n number of users t number of times, where n and t are
19defined by the user. It records the duration time of the test
20as well as the duration of each single transaction. It reports
21the number of transactions, elapsed time, bytes transferred,
22response time, transaction rate, concurrency and the number of
23times the server responded OK, that is status code 200.
24
25Siege was designed and implemented by Jeffrey Fulmer in his
26position as Webmaster for Armstrong World Industries. It  was
27modeled in part after Lincoln Stein's torture.pl and it's data
28reporting is almost identical. But torture.pl does not allow
29one to stress many URLs simultaneously; out of that need siege
30was born....
31
32When a HTTP server is being hit by the program, it is said to be
33"under siege."
34
35
36WHY DO I NEED IT?
37-----------------
38Siege was written for both web developers and web systems admin-
39istrators. It allows those individuals to test their programs
40and  their systems under duress. As a web professional, you are
41responsible for the intregrity of your product, yet you have no
42control over who accesses it. Traffic spikes can occur at any
43moment. How do you know if you're prepared?
44
45Siege will allow you to place those programs under duress, to
46allow you  to  better  understand the load that they can with
47stand. You'll sleep  better knowing your site can withstand the
48weight of 400 simultaneous transactions if your site currently
49peaks at 250.
50
51A transaction is characterized by the server opening a socket
52for the client, handling a request, serving data over the wire
53and closing the socket upon completion. It is important to note
54that HUMAN internet users take time to digest the data which
55comes back to them. Siege users do not. In practice I've found
56that 400 simultaneous siege users translates to at least five
57times that amount in real internet sessions. This is why siege
58allows you to set a delay ( --delay=NUM ). When set, each siege
59user sleeps for a random number  of seconds between 1 and NUM.
60Through your server logs you should be able to get the average
61amount of time spent on a page. It is recommended that you use
62that number for your delay when simulating internet activity.
63
64
65WHERE IS IT?
66------------
67The latest version of  siege can be obtained via  anonymous FTP:
68http://download.joedog.org/siege/siege-latest.tar.gz
69
70The source repository is located on GitHub:
71git clone https://github.com/JoeDog/siege.git
72
73You can view in your browser here:
74https://github.com/JoeDog/siege
75
76Updates and announcements are distributed via JoeDog:
77http://www.joedog.org/
78
79
80
81INSTALLATION
82------------
83Siege was built with  GNU  autoconf. If you are familiar with
84GNU software, then you should be  comfortable  installing siege
85Please consult the file INSTALL for more details.
86
87PREREQUISITES
88-------------
89To enable HTTPS support, you must install both openssl and
90openssl-devel on  your system.
91
92To enable gzip transfer encoding, you will need both zlib and
93zlib-devel installed on your system.
94
95All prerequisites must be installed at compile time. If you add
96the libraries after siege has been compiled, you will have to
97run ./configure, make and make install again.
98
99Siege prereqs are not dependencies. If these libraries are not
100present, the application will still compile and function. It
101simply won't contain these functionalities.
102
103
104DOCUMENTATION
105-------------
106Documentation is available in man pages  siege(1) layingsiege(1)
107An html manual is included with this distribution:   manual.html
108
109Complete documentation for siege can be found at www.joedog.org
110
111
112LICENSE
113-------
114Consult the file COPYING for complete license information.
115
116Copyright (C) 2000-2009 by Jeffrey Fulmer <jeff@joedog.org>
117
118Permission is  granted  to anyone to make or distribute verbatim
119copies  of  this  document as received,  in any medium, provided
120that  the  copyright  notice  and  this  permission  notice  are
121preserved,  thus giving the recipient permission to redistribute
122in turn.
123
124Permission  is  granted  to distribute modified versions of this
125document,  or  of portions of it,  under  the above  conditions,
126provided also that they carry prominent notices stating who last
127changed them.
128
129In addition, as a special exception, the  copyright holders give
130permission to link the code of portions of this program with the
131OpenSSL  library  under certain  conditions as described in each
132individual  source  file,  and  distribute  linked  combinations
133including the two.
134
135You must  obey the  GNU General Public License  in all  respects
136for all of the code  used  other  than OpenSSL.  If  you  modify
137file(s)  with  this exception,  you may extend this exception to
138your version of the file(s), but you are not obligated to do so.
139If you do  not wish  to do so,  delete this exception  statement
140from your version. If you delete  this exception  statement from
141all source files in the program, then also delete it here.
142