A command-line tool for load testing and benchmarking gRPC services with support for various schedules and output formats.
ghz is a command-line tool designed specifically for load testing and benchmarking gRPC services. It allows developers to simulate concurrent requests, measure latency and throughput, and generate detailed performance reports to validate the scalability and reliability of their gRPC APIs.
Backend engineers and DevOps professionals working with gRPC-based microservices who need to performance-test their APIs before deployment or under load.
Unlike generic HTTP load testers, ghz is built specifically for gRPC, supporting its binary protocol, streaming calls, and Protobuf serialization natively. It offers fine-grained control over load patterns and produces actionable performance insights.
Simple gRPC benchmarking and load testing tool
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports constant, step, and linear load patterns with configurable RPS and concurrency, enabling realistic traffic simulation as highlighted in the key features.
Generates reports in summary, CSV, JSON, HTML, and InfluxDB-compatible formats, making it easy to integrate with monitoring systems or custom analysis tools.
Works directly with .proto files or compiled protosets and supports both unary and streaming calls, ensuring accurate benchmarking of gRPC-specific protocols.
Prioritizes developer experience with a straightforward command-line approach, allowing quick setup for basic tests as per the project philosophy.
Lacks a graphical user interface, which can be a barrier for teams accustomed to visual dashboards or those needing real-time interactive monitoring.
With numerous command-line flags and options, setting up intricate load scenarios can be overwhelming and error-prone, especially for new users.
While it outputs to various formats, direct integration with popular CI/CD or APM platforms may require custom scripting or additional tooling.