Siege (software)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Siege
DevelopersJeffrey Fulmer, et al
Stable release
3.0.9
Repositorygithub.com/JoeDog/siege/
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Available inEnglish
    TypeLoad testing
    LicenseGPLv3[1] or later
    Websitejoedog.org/siege-home

    Siege is a Hypertext Transfer Protocol (HTTP) and HTTPS load testing and web server benchmarking utility developed by Jeffrey Fulmer. It was designed to let web developers measure the performance of their code under stress, to see how it will stand up to load on the internet.

    It is licensed under the GNU General Public License (GNU GPL) open-source software license, which means it is free to use, modify, and distribute.[2]

    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.[3]

    Performance measures

    [edit | edit source]

    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.[4]

    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: 448,000 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).[4]

    Platform support

    [edit | edit source]

    Siege was written on Linux and has been successfully ported to AIX, BSD, HP-UX, and Solaris. It compiles on most UNIX System V variants and on most newer BSD systems.[4]

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Test your Web server: Lay Siege to it!, Tech Republic
    3. ^ Load Testing and Benchmarking With Siege
    4. ^ a b c Joe Dog Software