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

Overview

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
Releases(v0.3.3)
Owner
Cristian Glavan
kick ass and chew bubblegum, and I'm all out of gum.
Cristian Glavan
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 -

Raymond Gitonga 1 Oct 26, 2021
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

Tomás Senart 18.9k Jan 22, 2022
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.

Ddosify 3.2k Jan 13, 2022
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

Traiano Welcome 0 Jan 5, 2022
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

Xargin 188 Jan 20, 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.

Re 37 Jan 17, 2022
Cloud-Native A/B Testing Platform (WIP) 云原生的 A/B 测试平台

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

Dongyue Studio 29 Dec 8, 2021
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

Aerokube 2.1k Jan 20, 2022
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

Artem Mikheev 6 Nov 15, 2021
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

Aerokube 277 Jan 8, 2022
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

Jaana Dogan 12.7k Jan 19, 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

Hilko Bengen 2 Nov 4, 2021
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.

Wesovi Labs 32 Dec 21, 2021
Stress testing and benchmarking tool for the NEAR EVM

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

Project Aurora 29 Jan 3, 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

Andrew Wilkins 748 Jan 13, 2022
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

Diederik Loerakker 16 Jan 20, 2022
Ditto is a CLI testing tool that helps you verify if multiple HTTP endpoints have the same outputs.

Ditto is a CLI testing tool that helps you verify if multiple HTTP endpoints have the same outputs.

Cristopher 1 Nov 24, 2021
Client tool for testing HTTP server timeouts

HTTP timeout test client While testing Go HTTP server timeouts I wrote this little tool to help me test. It allows for slowing down header write and b

Adam Pritchard 1 Jan 16, 2022
Benchmarking hash functions in Go

Experiment: Benchmarks of Hash Functions in Go This repository contains a small experiment of mine, trying out different hash functions and comparing

Roman Atachiants 4 Dec 3, 2021