inquisitor 0.3.0

Simple and fast load testing tool
inquisitor-0.3.0 is not a library.

Inquisitor

Simple and fast HTTP load testing tool written in Rust.

This project is currently in its infancy and is very much a work in progress.

Motivation

There are some other tools in this category in Rust, such as Goose and Drill. Inquisitor is inspired more by tools such as wrk and siege than Goose, Drill or k6, which means that we want our tool to be:

  • efficient: capable of generating as many requests per second (RPS) as the hardware allows;
  • simple: we are not trying to be feature complete;
  • no scripting: for this you should look into the excellent k6 or some of the other tools mentioned.

From the tools that I have tried, by far the one capable of generating the highest number of RPS is wrk, which in my hardware will do something around 30-70k RPS. These numbers are significantly larger than the RPS of some of the tools I mentioned, and orders of magnitude higher than some others. This is the main motivation of Inquisitor: reach the level of RPS of wrk, while being written in Rust and if possible slowly add features that the comunity deems to be useful.

Building and Installing

From Source

Clone the repo and build:

$ git clone https://github.com/yds12/inquisitor
$ cd inquisitor
$ cargo build --release

With Cargo

Install via cargo with:

$ cargo install inquisitor

Running

As an example, you can run with:

$ inquisitor -n 1000 -c 10 -t 10 https://localhost:8080/test

This will hit the URL specified, -n number of times, using -t concurrent tasks and a pool of -c HTTP connections. These parameters need to be adjusted according to your environment.

To display the help, which will have up to date information about all the command line parameters, type:

$ inquisitor --help