Load testing is a critical step in ensuring your web application can handle real-world traffic patterns. It helps you identify performance bottlenecks, optimize resource allocation, and ensure a seamless user experience.
-
Fast and Scalable: Built with Rust, Goose is designed for speed and scalability.
-
Flexible and Customizable: Supports simple and complex load tests, tailored to mimic real-world user behavior.
-
Realistic User Behavior Simulation: Goes beyond just sending requests; simulates user behaviors like logging in, filling out forms, and navigating through your application.
-
Live Dashboard: Opt-in web UI (compile with
--features dashboard, run with--dashboard) streams live metrics (RPS, users, latency charts) over SSE while a test runs. Optional authenticated control lets you Start, Stop, and set target users from the browser—see Live Dashboard in the Goose Book. -
Have you ever been attacked by a goose?
To use Goose, you'll need to write a Rust application using the Goose library. Then, compile it to create a tailored load testing tool specific to your needs.
You may find the following resources helpful:
-
The Goose Book A comprehensive guide to getting started with Goose.
-
Live Dashboard Observe (and optionally control) a running load test from the browser (
--features dashboard,--dashboard,--dashboard-control). -
Developer Documentation Detailed API information and tutorials.
Check out our examples on GitHub. You can also use Goose Eggs, a helper crate that provides useful functions for writing load tests, such as validation helpers for HTTP responses.
Developed by Tag1 Consulting, Goose has a growing community and a series of blog posts and podcasts detailing its features, comparisons with other tools, and real-life testing scenarios.