Skip to content

Phara0h/WaspsWithBazookas

Repository files navigation

🐝 Wasps With Bazookas 🚀

"It's like bees with machine guns, but way more power!"

WaspsWithBazookas Logo

Crates.io License: GPL-2.0 Rust


🎯 What the Heck is This?

WaspsWithBazookas is your ultimate distributed load testing weapon. Think of it as having an army of angry wasps, each armed with rocket launchers, ready to absolutely obliterate your servers with HTTP requests.

But here's the kicker: it's not just powerful—it's smart, scalable, and actually fun to use.

🚨 LEGAL DISCLAIMER

⚠️ DO NOT USE THIS TO DDOS SERVERS YOU DON'T OWN! This tool is for legitimate load testing of your own infrastructure. Using it against others' servers is illegal and we're not responsible if you end up in digital jail. You've been warned! ⚖️


🌟 Why WaspsWithBazookas?

🚀 Distributed Power

  • One Hive, Many Wasps: Coordinate an army of load testing wasps from any location from a single command center
  • Cloud-Native: Deploy wasps across multiple servers, regions, or cloud providers
  • Auto-Scaling: Spawn wasps on-demand to match your testing needs

Performance That Hurts

  • Rust-Powered: Blazing fast performance with memory safety.
  • Focused on Real Results: Aimed to beat or match wrk performance so you know your test results are your servers' real performance and not a limitation of the tool.
  • Real-Time Metrics: Get detailed insights into latency, throughput, and error rates

🎮 Developer Experience

  • Simple CLI: Start testing with just a few commands
  • REST API: Full programmatic control for CI/CD integration
  • Real-Time Monitoring: Watch your wasps wreak havoc in real-time
  • Authentication: Secure your wasp army with token-based auth

🔧 Production Ready

  • Health Checks: Automatic wasp monitoring and recovery
  • Graceful Shutdown: Clean termination without leaving orphaned processes
  • Comprehensive Logging: Detailed logs for debugging and analysis
  • Error Handling: Robust error recovery and reporting

🎪 Use Cases That Actually Matter

🏢 Enterprise Load Testing

  • Microservices Testing: Test individual services under realistic load
  • API Performance: Validate your REST APIs can handle production traffic
  • Infrastructure Stress Testing: Find out the bottlenecks in your infrastructure and know the overhead of each part of your stack.
  • CDN Performance: Test content delivery across multiple regions

🚀 DevOps & SRE

  • Capacity Planning: Understand your infrastructure limits before they matter
  • Chaos Engineering: Intentionally bring things to their knees to make them stronger
  • Performance Regression Testing: Catch performance issues before they hit production
  • Load Balancer Testing: Ensure your load balancers work under stress

🎯 Development Teams

  • Feature Testing: Validate new features under load before deployment
  • Performance Benchmarks: Establish baseline performance metrics
  • Integration Testing: Test how your services behave under load together
  • Release Validation: Ensure new releases don't break performance

🏆 What Makes This Special?

🐝 The Hive Architecture

    🏠 HIVE (Command Center)
         ↕️
    🐝🐝🐝🐝🐝🐝🐝🐝
    Wasp Army Spread Out Across the World (or not)
         ↕️
    🎯 TARGET SERVER
  • Hive: Your command center that coordinates all wasps
  • Wasps: Individual load testing agents that do the heavy lifting
  • Distributed: Each wasp runs independently, maximizing throughput

Performance Highlights

  • Millions of RPS: Scale to millions of requests per second
  • Sub-microsecond Latency: Precise timing measurements
  • Real-time Reporting: Get results as they happen

🛡️ Enterprise Features

  • Authentication: Secure your wasp army
  • Health Monitoring: Automatic wasp health checks
  • Graceful Scaling: Add/remove wasps without downtime
  • Comprehensive Logging: Full audit trail of all operations

🚀 Quick Start

Want to see this in action? Here's how to get started in under 2 minutes:

# 1. Install the tools
curl -fsSL https://raw.githubusercontent.com/Phara0h/WaspsWithBazookas/main/install.sh | bash

# 2. Start the test dummy server (your target)
test-dummy --port 8080 --host 127.0.0.1

# 3. Start the hive (command center)
hive --port 4269

Boom! You just launched a distributed load test with 2 wasps, each using 10 threads and 100 connections for 30 seconds. That's 2,000 concurrent connections hitting your target! 🎯

💡 Pro Tip: The test dummy server now provides ultra-fast, httpbin-style endpoints for every load testing scenario. See the Test Dummy Guide for details! Very useful for testing infrastructure sicne you don't want the http server to be the bottleneck.


📚 What's Next?


🤝 Contributing

Found a bug? Want to add features? We'd love your help! Check out our Contributing Guide and join the swarm! 🐝


📄 License

This project is licensed under the GNU General Public License v2.0 - see the LICENSE file for details.



Changelog

All notable changes to this project will be documented in this file. Dates are displayed in UTC.

  • FIxed some more weird https issues 2c36552

10 July 2025

  • chore: bump version to 2.0.3 (patch) 3b2a04f
  • Fixed typo preventing https sites not to work xD c46f936
  • Removed docker and disabled homebrew since WWB is not notable enough c8d1af4

8 July 2025

  • chore: bump version to 2.0.2 (patch) 5d2054c
  • Update Cargo.toml 3288762
  • Update README.md 80c0213
  • Removed chocolatey don't want the hassle ce5eae5
  • Update chocolatey.yml 9c10910
  • Fix Chocolatey workflow triggers - add multiple trigger types and better version handling b1170ca
  • Fix Chocolatey workflow to properly create packages in chocolatey-community repository 91f1869
  • Remove redundant homebrew.yml workflow - using release.yml for Homebrew core submission b1b2ff6
  • homebrew fixes 8d79830
  • Fix Homebrew formula to build from source and clean up old ARM64 references 18f9375
  • Update Homebrew workflow to use mislav/bump-homebrew-formula-action for core submission 29f296a
  • Fix Homebrew formula to build from source instead of using cargo install f84178d
  • Fix Homebrew formula update action - downgrade to v3 and add debugging 7ca1c8d
  • Update INTRO.md 45c25b4

8 July 2025

8 July 2025

  • Bump handlebars from 4.7.6 to 4.7.7 #6
  • Bump fastify-static from 2.5.0 to 4.2.4 #7
  • Bump ajv from 6.10.0 to 6.12.6 #8
  • Bump minimist from 1.2.5 to 1.2.6 #9
  • Bump node-fetch from 2.6.1 to 2.6.7 #10
  • Bump qs from 6.5.2 to 6.5.3 #11
  • Bump find-my-way from 2.2.3 to 2.2.5 #5
  • Bump node-fetch from 2.6.0 to 2.6.1 #4
  • Bump fastify from 2.4.1 to 2.15.1 #3
  • chore: bump version to 2.0.0 (major) efc07ae
  • Created test dummy service, docs, workflows, and much more d1830b5
  • Init commit for full rewrite in rust + no more wrk depend 82b21d7

28 April 2020

  • Added /hive/ceasefire, removed node_modules and fixed security modules. 5c57f6d
  • Set theme jekyll-theme-slate f279cd7

26 September 2019

26 September 2019

2 July 2019

  • Ceasefire, wasp auto retry and bug squashing 9230011

1 July 2019

  • Percentage complete and invaild targets ea71892

1 July 2019

19 June 2019

  • Fixed a quick bug to catch errors on poke b2133e7

19 June 2019

  • Wrk params reported, auto checkin in wasps & snoot booping 614d8e4
  • Create SECURITY.md 4416182

1.1.0

19 June 2019

  • Auto wasp regeneration, error logging and misc bug fixes 5ff11e6
  • Added wasp heartbeats, local wasp spawning from hive and wrk timeout option 2bebc1d
  • update package num bbd2bed
  • added file logging f8b726d
  • fixed cli poke bug and hive poke parse bug e7af2b5
  • Fixed various bugs and spelling errors 4797516
  • added * ip listen ebff346
  • Update package.json 61e6179
  • Update wwb-cli-spawn-local.js d4d0f03
  • Fixed some bugs wrk lua scripts should work now. 936551e
  • Update README.md 75c577f
  • Update README.md 0a1c634
  • Basic command line functionality 7a0cf7e
  • Added test server a347e1f
  • Fixed nonSuccessRequests 1a06650
  • Update README.md de9ad82
  • Set theme jekyll-theme-minimal f805dc8
  • Set theme jekyll-theme-slate 249f804
  • Update API.md 7536fa3
  • Update README.md 5ca7f2e
  • Added some init docs 3b91133
  • WRK scripts now work, reporting and the rest of the functionality dace65c
  • Init commit basic functionality working 9ca05ba
  • Initial commit efffbf3