Cassowary is a modern, cross-platform HTTP/S load-testing tool written in Go, designed for developers, testers, and sysadmins. It draws inspiration from projects like k6, ab, and httpstat.
About
Cassowary is a modern, cross-platform HTTP/S load-testing tool written in Go, designed for developers, testers, and sysadmins. It draws inspiration from projects like k6, ab, and httpstat.
Best for
Quick HTTP or protocol micro-benchmarks from a single machine
Teams that prefer open-source licensing and self-hosting options
Groups comfortable scripting in Go
Not the best fit when
Full multi-protocol enterprise journeys and rich business-flow reporting
Teams unwilling to operate generators, results storage, and scaling
Architecture and concurrency
Cassowary is typically driven as a CLI micro-benchmark with Go. It favors single-host or simple distributed runs rather than enterprise controller grids.
Features
Two load testing modes: standard and spread (where URL paths are specified from a file)
CI-friendly for pipeline integration
Flexible metrics exporting including Cloudwatch, Prometheus (via PushGateway), and JSON file
Configurable HTTP client and arbitrary HTTP headers support
Supports GET, POST, PUT, and PATCH methods, with POST/PUT/PATCH data definable in a file
Cross-platform (single pre-built binary for Linux, Mac OSX, and Windows)
Importable as a module in Go applications
Visualizations: can export request data as histograms and boxplots in PNG format
Latest release
v0.17.0 · 2024-04-24
Minor release (v0.17.0) featuring a Go version bump to 1.22, the addition of an --insecure flag for skipping TLS certificate verification, and a --silent flag for suppressing terminal output to facilitate integration with external exporters.
Cassowary is best for developers who need fast HTTP or protocol micro-benchmarks from a terminal. It is open source, so teams can self-host and extend it. Vendor: Roger Welin. Deployment model: self-hosted. Free; MIT License. Confirm details against the official site and a short proof-of-concept in your environment.
How does Cassowary differ from Vegeta?
Compared with Vegeta, both sit in micro-benchmark cli, so shortlist on protocols, team skills, and pricing rather than category alone. Cassowary lists protocols HTTP, HTTPS; Vegeta lists HTTP, HTTPS. Status is active versus active. Use the Test Rig to compare full specs side by side before a proof-of-concept.
What scripting language and concurrency model does Cassowary use?
Cassowary uses Go for scripting or scenario definition. Runtime model: CLI-driven request generation with a lightweight concurrency model suited to single-host benchmarks. OS support: Windows, macOS, Linux. Protocols: HTTP, HTTPS. Match these to how your team already authors tests and which systems you must drive under load.
What is the cloud or enterprise path for Cassowary?
Cassowary is primarily self-hosted; teams typically run generators on their own machines, CI runners, or private cloud. Plan for generator capacity, network access to targets, and result storage yourself. As open source, commercial support or hosted siblings may exist separately. Check the official site. Pricing note: Free; MIT License.
What are known limitations of Cassowary?
Cassowary limitations to weigh: CLI micro-benchmarks excel at raw HTTP throughput but usually lack enterprise scenario orchestration, rich reporting, and multi-protocol suites; self-hosted tools require you to provision, scale, and observe load generators yourself. Status: active. Always validate against your target protocols and scale with a proof-of-concept.