hivefleet is a distributed, scalable load-testing tool built in go that leverages Google Cloud Functions

hivefleet Go Report Card

hivefleet is a distributed, scalable load-testing tool, built on top of https://github.com/codesenberg/bombardier (v1.2.5).

It leverages the power of Google Cloud Functions to scale bombardier to any possible range. Google and budget are your only limits.

Take it for a spin

Grab one of the binaries

Prerequisites:

  • a billing enabled GCP project
  • a service account for it, with exported credentials
  • installed and configured gcloud where you run hivefleet
  • asume that any run of this program could result in costs in GCP

setup your config.yml file and pass it as a command line parameter

CF region credentials: "{path-to-my-credentials}.json" => Path to your google credentials concurrency: 1 => how many conccurent threads each CF uses number: 10 => the number of requests each CF sends url: https://google.com => url to test">
clients: 5     => number of CF you want to start
local: 0       => used for debugging, leave 0 when load-testing
debug: 0       => a slightly more verbose setting for local
deploy_function: 1      => leave to yes at least the first time
function_memory: 256    => function memory
function_timeout: 120   => function timeout
function_region: "us-central1"       => CF region
credentials: "{path-to-my-credentials}.json" => Path to your google credentials
concurrency: 1  => how many conccurent threads each CF uses 
number: 10      => the number of requests each CF sends
url: https://google.com => url to test

Before you proceed, please check Google's pricing for Cloud Functions: https://cloud.google.com/functions/pricing#cloud-functions-pricing

Run the hive-mind with one of the two binaries

./hive-mind-darwin-amd64 config.yml
- or -
./hive-mind-linux-amd64 config.yml

In the folder you will see a generated report.html

Local setup

git clone https://github.com/clglavan/hivefleet.git

If you want to test it out without involing GCP at all, you can first start a local webserver (port 3000) in

./commander/local/local

and from the config values above, change:

local: 1

This will instruct hivefleet to call a local endpoint insted of the cloud function endpoint, and run everything on your local machine

Run the hive-mind with one of the two binaries

./hive-mind-darwin-amd64 config.yml
- or -
./hive-mind-linux-amd64 config.yml
Owner
Cristian Glavan
kick ass and chew bubblegum, and I'm all out of gum.
Cristian Glavan
Similar Resources

Selenium Hub successor running browsers within containers. Scalable, immutable, self hosted Selenium-Grid on any platform with single binary.

Selenium Hub successor running browsers within containers. Scalable, immutable, self hosted Selenium-Grid on any platform with single binary.

Selenoid Selenoid is a powerful implementation of Selenium hub using Docker containers to launch browsers. Features One-command Installation Start bro

Jan 5, 2023

Stupidly fast, completely serverless and infinitely scalable stress tester.

Stupidly fast, completely serverless and infinitely scalable stress tester.

dontstress Stupidly fast, completely serverless and infinitely scalable stress tester. Don't stress over your failing competitive programming task sol

Nov 15, 2021

A lightweight load balancer used to create big Selenium clusters

A lightweight load balancer used to create big Selenium clusters

Go Grid Router Go Grid Router (aka Ggr) is a lightweight active load balancer used to create scalable and highly-available Selenium clusters. Articles

Dec 28, 2022

HTTP load generator, ApacheBench (ab) replacement, formerly known as rakyll/boom

HTTP load generator, ApacheBench (ab) replacement, formerly known as rakyll/boom

hey is a tiny program that sends some load to a web application. hey was originally called boom and was influenced from Tarek Ziade's tool at tarekzia

Dec 31, 2022

Load generator for measuring overhead generated by EDRs and other logging tools on Linux

Simple load generator for stress-testing EDR software The purpose of this tool is to measure CPU overhead incurred by having active or passive securit

Nov 9, 2022

A next-generation testing tool. Orion provides a powerful DSL to write and automate your acceptance tests

Orion is born to change the way we implement our acceptance tests. It takes advantage of HCL from Hashicorp t o provide a simple DSL to write the acceptance tests.

Aug 31, 2022

Stress testing and benchmarking tool for the NEAR EVM

evm-bully --- stress testing and benchmarking tool for the NEAR EVM

May 30, 2022

Coverage testing tool for The Go Programming Language

gocov Coverage reporting tool for The Go Programming Language Installation go get github.com/axw/gocov/gocov Usage There are currently four gocov comm

Jan 3, 2023

Merge Mock - testing tool for the Ethereum Merge

MergeMock Experimental debug tooling, mocking the execution engine and consensus node for testing. work in progress Quick Start To get started, build

Oct 21, 2022
Cloud Spanner load generator to load test your application and pre-warm the database before launch

GCSB GCSB Quickstart Create a test table Load data into table Run a load test Operations Load Single table load Multiple table load Loading into inter

Nov 30, 2022
Simple Golang Load testing app built on top of vegeta
Simple Golang Load testing app built on top of vegeta

LOVE AND WAR : Give Your App Love By Unleashing War Simple load testing app to test your http services Installation Build docker image: docker build -

Oct 26, 2021
Check-load - Simple cross-platform load average check

Sensu load average check Table of Contents Overview Usage examples Configuration

Jun 16, 2022
HTTP load testing tool and library. It's over 9000!
HTTP load testing tool and library. It's over 9000!

Vegeta Vegeta is a versatile HTTP load testing tool built out of a need to drill HTTP services with a constant request rate. It can be used both as a

Jan 7, 2023
Ddosify - High-performance load testing tool
 Ddosify - High-performance load testing tool

Ddosify - High-performance load testing tool Features ✔️ Protocol Agnostic - Currently supporting HTTP, HTTPS, HTTP/2. Other protocols are on the way.

Jan 5, 2023
Trade Matching / Transaction System Load Testing Solution

Load Generation System for Trade Matching Systems Operation Users select one of the following options from thew Test Management Portal: Generate a new

Feb 25, 2022
Patch all Go functions for testing
Patch all Go functions for testing

SuperMonkey This lib is inspired by https://github.com/bouk/monkey, and uses some of the code Introduction Patch all functions without limits, includi

Nov 9, 2022
siusiu (suite-suite harmonics) a suite used to manage the suite, designed to free penetration testing engineers from learning and using various security tools, reducing the time and effort spent by penetration testing engineers on installing tools, remembering how to use tools.
siusiu (suite-suite harmonics) a suite used to manage the suite, designed to free penetration testing engineers from learning and using various security tools, reducing the time and effort spent by penetration testing engineers on installing tools, remembering how to use tools.

siusiu (suite-suite harmonics) a suite used to manage the suite, designed to free penetration testing engineers from learning and using various security tools, reducing the time and effort spent by penetration testing engineers on installing tools, remembering how to use tools.

Dec 12, 2022
A yaml data-driven testing format together with golang testing library

Specimen Yaml-based data-driven testing Specimen is a yaml data format for data-driven testing. This enforces separation between feature being tested

Nov 24, 2022
Cloud-Native A/B Testing Platform (WIP) 云原生的 A/B 测试平台

云原生的 A/B 测试系统 介绍 A/B 测试起源于农业工程。人们将土地划分为不同的地块,通过种植不同的农作物来确定在这些土地上更适合种植何种作物。随后 A/B 测试被广泛地应用于医学、工业等不同领域。

Sep 19, 2022