Server load testing CLI tool πŸ‹οΈ

Overview

πŸ”₯ Rhea

  • A Server Load Testing Tool

Rhea is a powerful and easy-to-use command-line tool written in Rust for load testing servers. It allows you to simulate heavy concurrent traffic and analyze how your server responds under various loads. With Rhea, you can identify performance bottlenecks, test the scalability of your server, and ensure its stability even in high-traffic scenarios.

Features

  • Concurrent Requests: Rhea generates multiple concurrent requests to stress-test your server efficiently.

  • Customizable Load: You can define the number of concurrent users and the total number of requests to create different load scenarios.

  • HTTP Method Support: Perform load testing with various HTTP methods, including GET, POST, PUT, DELETE, and more.

  • Open Source: Rhea is open source, licensed under the MIT License. Feel free to contribute to its development!

Installation

To install Rhea, you need to have Rust installed. Once you have Rust set up, you can install Rhea via Cargo, the Rust package manager:

$ cargo install rhea

Quick Start

  1. Ensure your server is running and accessible.

  2. Open a terminal window and run the following command:

$ rhea --url http://your-server.com/api --concurrency 100 --requests 1000
  1. Sit back and relax while Rhea performs the load test.

  2. Once the load test is complete, Rhea will display detailed metrics and statistics.

Usage

rhea [OPTIONS] --url <URL> --requests <REQ_COUNT>

Flags:

  • --help: Displays help information about the load testing tool.

Options:

  • --url <URL>: The URL of the server you want to load test (required).

  • --concurrency <CONCURRENCY>: The number of concurrent users to simulate (default: 1, max:100).

  • --requests <REQUESTS>: The total number of requests to send during the test (default: 10).

  • --method <METHOD>: The HTTP method to use for the requests (default: GET).

  • --body <BODY>: The request body for POST or PUT requests.

  • --headers <HEADERS>: Custom headers to include in the requests.

Contributing

We welcome contributions to Rhea! To contribute, please follow the guidelines outlined in the CONTRIBUTING.md file.

License

Rhea is open-source software licensed under the MIT License. See the LICENSE file for more details.

Happy load testing!

You might also like...
A simple program for C program IO testing. Written in Rust

A simple program for C program IO testing. Written in Rust, using concurrency to speed up valgrind testing. Make sure to update settings at your first run of the program!

Cucumber testing framework for Rust. Fully native, no external test runners or dependencies.
Cucumber testing framework for Rust. Fully native, no external test runners or dependencies.

Cucumber testing framework for Rust An implementation of the Cucumber testing framework for Rust. Fully native, no external test runners or dependenci

Rust library that provides helpers for testing resilience of I/O operations.

partial-io Helpers for testing I/O behavior with partial, interrupted and blocking reads and writes. This library provides: PartialRead and PartialWri

Testing out if Rust can be used for a normal Data Engineering Pipeline.

RustForDataPipelines Testing out if Rust can be used for a normal Data Engineering Pipeline. Check out the full blog post here. https://www.confession

A library and binary for testing unhooking ntdll by identifying hooks via in-memory disassembly
A library and binary for testing unhooking ntdll by identifying hooks via in-memory disassembly

(First Public?) Sample of unhooking ntdll (All Exports & IAT imports) hooks in Rust using in-memory disassembly, avoiding direct syscalls and all hooked functions (incl. hooked NtProtectVirtualMemory)

botwork is a single-binary, generic and open-source automation framework written in Rust for acceptance testing & RPA

botwork botwork is a single-binary, generic and open-source automation framework written in Rust for acceptance testing, acceptance test driven develo

Visual regression testing of H264 frames and images.

twenty-twenty The twenty-twenty library allows for visual regression testing of H.264 frames and images. It makes it easy to update the contents when

Text-based to-do management CLI & language server
Text-based to-do management CLI & language server

β˜‘οΈ Todome (ζ—₯本θͺžη‰ˆγ―こけら) Todome is a notation developed for making and editing to-do lists. It is inspired by Todo.txt, and in fact some of the todome not

A commmand line tool for uploading homework coded on the dcloud server onto specific google drive course folders.

A commmand line tool for uploading homework coded on the dcloud server onto specific google drive course folders.

Releases(v0.1.1)
Owner
Melih Sivri
backend developer
Melih Sivri
Snapshot testing for a herd of CLI tests

trycmd Snapshot testing for a herd of CLI tests trycmd aims to simplify the process for running a large collection of end-to-end CLI test cases, takin

null 57 Jan 3, 2023
A dead simple functional testing tool for command line applications

Pharaoh : build that test pyramid! What it is Pharaoh is a dead simple, no permission needed, functional test runner for command line applications, wr

Kevin Sztern 17 Dec 13, 2021
Croc-look is a tool to make testing and debuging proc macros easier

croc-look croc-look is a tool to make testing and debuging proc macros easier by these two features Printing the implementation specific generated cod

weegee 7 Dec 2, 2022
A workflow tool for quickly running / testing something you are working on

runfast What is it? This is a program intended to be run in a project directory to set up a project run command, and remember it so we dont have to ty

anna 4 Dec 16, 2022
Api testing tool made with rust to use for api developement (Kind of Tui)

Api testing tool made with rust to use for api developement (Kind of Tui) This Rust project provides a simple yet powerful tool for making HTTP reques

Kythonlk 3 Feb 14, 2024
A Rust CLI tool that helps you enforce Git policies through Git hooks both server and client side

GitPolicyEnforcer This is a command line utility written in Rust, that helps you utilize Git hooks, to enforce various policies. It currently supports

Vagelis Prokopiou 4 Aug 14, 2022
A small CLI tool to query ArcGIS REST API services, implemented in Rust. The server response is returned as pretty JSON.

A small CLI tool to query ArcGIS REST API services, implemented in Rust. The server response is returned as pretty JSON.

Andrew Vitale 2 Apr 25, 2022
A CLI tool to get help with CLI tools πŸ™

A CLI tool to get help with CLI tools ?? halp aims to help find the correct arguments for command-line tools by checking the predefined list of common

Orhun ParmaksΔ±z 566 Apr 16, 2023
Bruteforce connecting to a specific Sea of Thieves server. Useful if you want to be in the same server as your friends.

SoT Server Finder Find which Sea of Thieves server you're connected to. Useful if you want to be in the same server as your friends. Setup Download so

Martin 4 Mar 19, 2023
Leptos server signals synced through Server-Sent-Events (SSE)

Leptos Server Sent Events Server signals are leptos signals kept in sync with the server through server-sent-events (SSE). The signals are read-only o

messense 13 Oct 3, 2023