rouzbehsbz / cicadas

Cicadas is a fast multi threaded HTTP load testing and benchmarking tool.
MIT License
11 stars 0 forks source link

Cicadas

Cicadas is a multi threaded HTTP load testing and benchmarking tool written in Rust and it's highly inspired by wrk. some limitations on wrk and other open source benchmarking tools, make me write my own version with features I needed. Checkout features section, maybe this is the one you're looking for.

Installation

Working on automation releases. for now you need to compile source code for your desired platform/arch using cargo.

Features

Example

This is how you can simply use cicadas to load test https://example.com for 10 seconds with 8 connections.

cicadas -t http://localhost:5500 -m GET -d 30 -c 100

response

Options

Target URL for applying load test. http and https protocols are supported

-t --target <TARGET>

HTTP method. GET,POST,PUT,DELETE,HEAD and OPTIONS are available

-m --method <METHOD>

Optional proxy URL to use when load testing the target. http,https and socks protocols are available

-P --proxy <PROXY>

Load test duration in seconds.

-d --duration <DURATION>

Connection count. each connection will map with one OS thread.

-c --connection <CONNECTION>

Optional body payload to pass to the target.

-p --payload <PAYLOAD>

Optional HTTP headers. you can specify multiple headers with following structure <NAME>:<VALUE>.

-H --headers <HEADERS>

Optional request timeout duration in seconds. default is set to 5 seconds.

-T --timeout <TIMEOUT>

Print help

-h --help

Print version

-V --version

here's an example with all options used.

cicadas -t https://example.com \
    -m POST \
    -d 30 \
    -c 100 \
    -H "Content-Type:application/json" \
    -P "{id: 5}" \
    -p socks5://mysecretsocks.com \
    -T 7

Todos