Siege software
Developer(s) | Jeffrey Fulmer, et al — Designed and implemented Siege in his position as Webmaster for Armstrong World Industries |
---|---|
Operating system | Cross-platform |
Available in | English |
Type | Load Testing Tools |
License | Open source GPLv2 or later |
Website |
www |
Siege is an open source HTTP / HTTPS load testing and benchmarking utility developed by Jeffrey Fulmer. Siege was designed to let web developers measure the performance of their code under duress, to see how it will stand up to load on the internet.
Siege is licensed under the GNU GPL open source license, which means it’s free to use, modify, and distribute. [1]
Siege can stress a single URL or it can read many URLs into memory and stress them simultaneously. It supports basic authentication, cookies, HTTP, HTTPS and FTP protocols.[2]
Performance Measures
Performance measures include elapsed time of the test, the amount of data transferred ( including headers ), the response time of the server, its transaction rate, its throughput, its concurrency and the number of times it returned OK. These measures are quantified and reported at the end of each run.[3]
This is a sample of siege output:
Ben: $ siege -u shemp.whoohoo.com/Admin.jsp -d1 -r10 -c25 ..Siege 2.65 2006/05/11 23:42:16 ..Preparing 25 concurrent users for battle. The server is now under siege...done Transactions: 250 hits Elapsed time: 14.67 secs Data transferred: 448000 bytes Response time: 0.43 secs Transaction rate: 17.04 trans/sec Throughput: 30538.51 bytes/sec Concurrency: 7.38 Status code 200: 250 Successful transactions: 250 Failed transactions: 0
Siege has essentially three modes of operation: regression, internet simulation and brute force. It can read a large number of URLs from a configuration file and run through them incrementally ( regression ) or randomly ( internet simulation ). Or the user may simply pound a single URL with a runtime configuration at the command line ( brute force ). [3]
Platform Support
Siege was written on GNU/Linux and has been successfully ported to AIX, BSD, HP-UX and Solaris. It compiles on most System V UNIX variants and on most newer BSD systems. [3]