What is Siege?
Siege is an open source regression test, load tester and benchmark utility. It can stress test a single URL with a user defined number of simulated users, or it can read many URLs into memory and stress them simultaneously. The program reports the total number of hits recorded, bytes transferred, response time, concurrency, and return status. Siege supports HTTP/1.0 and 1.1 protocols, the GET and POST directives, cookies, transaction logging, and basic authentication. Its features are configurable on a per user basis.
Siege was written for both web developers and web systems admin- istrators. It allows those individuals to test their programs and their systems under duress. As a web professional, you are responsible for the intregrity of your product, yet you have no control over who accesses it. Traffic spikes can occur at any moment. How do you know if you're prepared? When a HTTP server is being hit by the program, it is said to be "under siege."
Most features are configurable with command line options which also include default values to minimize the complexity of the program's invocation. Siege allows you to stress a web server with n number of users t number of times, where n and t are defined by the user. It records the duration time of the test as well as the duration of each single transaction. It reports the number of transactions, elapsed time, bytes transferred, response time, transaction rate, concurrency and the number of times the server responded OK, that is status code 200.
- 5,270 Stars
- 367 Forks
- 132 Open Issues