#siege
####Table of Contents
- Overview
- Module Description - What the module does and why it is useful
- Usage - Configuration options and additional functionality
- Development - Guide for contributing to the module
##Overview
This module manages Siege (https://www.joedog.org/siege-home/)
##Module Description Installs siege, a cheap and cheerful http load testing and benchmarking utility.
This module has been tested against version 3.1.2
##Usage
include siege::install::package
Options and configuration can be provided through the available parameters. For this, see manifests/params.pp
Here are a few siege commands to get you started from the terminal:
### Verify connectivity and HTTP debugging ###
# One get request to verify connectivity and display HTTP headers
siege -g http://example.com/serverid/index.php
### Load Test ###
# 30 concurrent users, with a random delay between requests from 0 to 2 seconds. This delay will average around 1 second
# Sends around 30 requests/second for up to 10 minutes. Ctrl+C to stop and see the results early.
siege -q -c30 -d2 -t10M http://example.com/serverid/index.php
# same test with POST requests
siege -q -c30 -d2 -t10M "http://example.com/serverid/index.php POST name=John&lang=EN"
# Load Test passing a cookie in the http header
siege -q -c30 -d2 -t10M --header="Cookie: MySession=ed4384ffp902sqlh71t4" http://example.com/serverid/index.php
### Benchmark ###
# 30 concurrent users with no delay between requests for up to 10 minutes. Ctrl+C to stop and see the results.
siege -q -c30 -t10M http://example.com/serverid/index.php
### Load Test using URLs defined in /root/urls.txt ###
# urls.txt can be manually created or generated by 'sproxy' for http traffic
siege -q -c50 -d2 -t10M -f/root/urls.txt
# View the siege config
cat /etc/siege/siegerc
### siegerc can be modified to enable cache revalidation, change default 'user-agent', etc
##Development
Contributions are welcomed!
- Alex Pop