Skip to main content

Hackable HTTP benchmarking tool.

Project description

https://travis-ci.org/povilasb/httpmeter.svg?branch=master

This is a hackable python based HTTP/HTTPS benchmarking tool. It supports traffic proxying for both HTTP and HTTPS, thus also can be used to test performance of proxy servers.

It is implemented with asyncio and runs on Python >= 3.5. You can optionally use uvloop for better performance.

Usage

pip3 install httpmeter

Synopsis:

httpmeter [options] URL

Options:

-h  Display usage information.

-c, --concurrency <N>
    How many requests should be executed in parallel.

-n, requests <N>
    How many requests to make in total.

-H, --header <custom-header>
    Additional headers to send with every request. Multiple entries
    allowed. E.g.
        --header "Connection: close" --header "User-Agent: benchmark"

-X, --proxy <http://user:pass@proxy:port>
    Proxy address. E.g. http://user1:pass123@localhost:8080

--uvloop
    Use uvloop to increase networking performance.

-p N, --process-count N
    Use N processes to distribute requests over separate CPU cores.
    By default uses the same number of processes as there are CPU
    cores.

Development

Get dependencies:

$ virtualenv --python3 pyenv
$ pyenv/bin/pip install -r requirements/prod.txt

Run the benchmark:

$ pyenv/bin/python -m httpmeter -c 100 -n 500 \
    -X http://username:password@1.2.3.4:8080 http://target.com

Project details


Release history Release notifications

This version
History Node

0.1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
httpmeter-0.1.0.tar.gz (5.3 kB) Copy SHA256 hash SHA256 Source None Feb 17, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page