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 CLI tool to get help with CLI tools ๐Ÿ™
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

Rust File Management CLI is a command-line tool written in Rust that provides essential file management functionalities. Whether you're working with files or directories, this tool simplifies common file operations with ease.

Rust FileOps Rust File Management CLI is a command-line tool written in Rust that provides essential file management functionalities. Whether you're w

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

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

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)

Releases(v0.1.1)
Owner
Melih Sivri
backend developer
Melih Sivri
A WIP property-based testing library in Rust, built with generalized targeted-property testing in mind.

Crabcheck A WIP property-based testing library in Rust, built with generalized targeted-property testing in mind. What is property-based testing? TODO

Alperen KeleลŸ 9 Mar 27, 2024
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 simple code that will load a shellcode directly into RAM memory in a new process

ใ€Œ ?? ใ€About RustSCLoader RustSCLoader is a simple code that has the intention of loading a shellcode directly into RAM memory in a new process that wi

null 5 May 15, 2023
A Rust LLaMA project to load, serve and extend LLM models

OpenLLaMA Overview A Rust LLaMA project to load, serve and extend LLM models. Key Objectives Support both GGML and HF(HuggingFace) models Support a st

Compute IO 4 Apr 9, 2024
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