A fast, embeddable load testing library, command-line tool, and server with web UI for HTTP, gRPC, TCP, and UDP, featuring latency histograms and advanced echo capabilities.
Fortio is a load testing library, command-line tool, and server suite written in Go. It allows developers to generate controlled query-per-second load against HTTP, gRPC, TCP, and UDP services while recording detailed latency histograms and statistics. It solves the need for a fast, embeddable, and feature-rich performance testing tool with advanced debugging capabilities.
Developers, SREs, and performance engineers who need to test the scalability and latency of microservices, APIs, or network protocols, especially in cloud-native environments like Istio.
Fortio stands out due to its combination of a lightweight embeddable library, a powerful CLI, and a full web UI—all in one tool. It supports multiple protocols, offers advanced echo server features for debugging, and provides stable, mature performance with minimal dependencies.
Fortio load testing library, command line tool, advanced echo server and web UI in go (golang). Allows to specify a set query-per-second load and record latency histograms and other useful stats.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The Docker image is under 6MB with minimal dependencies, and it includes a high-performance HTTP client optimized for load testing, as highlighted in the README's emphasis on speed.
Supports HTTP, gRPC, TCP, and UDP load testing, along with echo servers for debugging, making it versatile for microservices and network protocols.
Includes configurable echo servers with delays, error codes, and payload sizes, similar to httpbin, which aids in testing resilience and response handling.
Provides reusable packages for stats, HTTP utilities, and JSON-RPC, allowing integration into other Go projects for custom performance monitoring.
Reached 1.0 in 2018 with no known major bugs, and the README notes quick fixes for issues, ensuring reliability for production use.
The command-line has an overwhelming number of flags, as shown in the lengthy usage section, which can be intimidating and error-prone for new users.
While functional for result visualization, the UI lacks advanced features like real-time dashboards or collaborative testing environments compared to dedicated SaaS tools.
Does not mention out-of-the-box integrations with popular CI/CD platforms or monitoring systems, requiring extra effort for automation pipelines.
Customizing or extending features often requires Go programming knowledge, limiting accessibility for teams without Go expertise.