SpeedyCoder / autohttperf

Automated and distributed benchmarking using httperf

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This project is intended to make it easier to run stress test benchmarks against web servers by using http and periodic analysis of the results. Autobench is great, but can only use static ranges and steps which makes it less useful for my purposes.

Example usage:

    $ autohttperf -help
    Usage of ./autohttperf: "host1:port1" ...
      -server="localhost": The hostname or IP address of the server
      -cooldown=3: The number of steps to take following an 'error state' (stress only)
      -numerrors=500: The maximum acceptable number of errors to indicate 'stressed' (stress only)
      -stressreqs=false: Perform a request stress test
      -manual=false: Perform a manual benchmark
      -timeout=5: Amount of time before a request is considered unfulfilled
      -port=80: The port on which to bind the server
      -url="/": The URL to be requested
      -numconns=6000: The number of connections to be opened (manual only)
      -stressconn=false: Perform a connection stress test
      -connrate=200: The rate of new connections (connections per second) (manual only)
      -help=false: Display usage information
      -duration=60: The duration of each 'step' of the stress test in seconds (stress only)
      -sleeptime=5: The amount of time (in seconds) to sleep between each round (stress only)
      -requests=5: The number of requests sent per connection (manual only)
    
    autohttperf --server 10.0.0.125 --stressconn worker1.myhost.com:1717 worker2.myhost.com:1717

This is incredibly limited right now, but I am actively using it in order to benchmark a series of servers from 3 different client machines. Right now it doesn't work, but feel free to take a look.

About

Automated and distributed benchmarking using httperf


Languages

Language:Go 99.2%Language:Makefile 0.8%