Skip to content
tag1consultingPublic

Repository files navigation

Goose: A Powerful Load Testing Framework

What is Load Testing?

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.

Why Choose Goose?

  • 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?

Getting Started

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.

Simple Example

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.

Community and Support

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.

crates.io Documentation Apache-2.0 licensed CI

Releases

Used by

Contributors

Languages