ghz is a command-line utility and Go package designed for benchmarking and load testing gRPC services. It can be used for local testing, debugging, and performance regression testing in automated CI environments.
About
ghz is a command-line utility and Go package designed for benchmarking and load testing gRPC services. It can be used for local testing, debugging, and performance regression testing in automated CI environments.
Best for
API and protocol throughput or latency campaigns
Teams that prefer open-source licensing and self-hosting options
Groups comfortable scripting in Go, JavaScript
Not the best fit when
Teams unwilling to operate generators, results storage, and scaling
Architecture and concurrency
ghz is commonly operated as self-hosted software with scenario authoring in Go, JavaScript. Concurrency and distribution depend on how you size workers or injectors.
Supports load testing for unary, streaming, and duplex gRPC calls
Allows input via .proto files, prebuilt protoset bundles, or server reflection
Provides various report output formats including CLI summary, CSV, JSON, HTML, and InfluxData
Supports custom data input using standard Go template variables
Enables Gzip compression on requests
Provides options for concurrency scheduling and rate limiting
Latest release
v0.121.0 · 2025-12-06
The v0.121.0 release was published on 2025-12-06. The release notes do not provide specific feature updates or bug fixes, only the version tag and release date.
ghz is best for engineers focused on API and protocol-level throughput and latency. It is open source, so teams can self-host and extend it. Vendor: Bojan Djurkovic. Deployment model: self-hosted. Free; MIT License. Confirm details against the official site and a short proof-of-concept in your environment.
How does ghz differ from Artillery?
Compared with Artillery, scripting centers on Go, JavaScript rather than JavaScript, TypeScript. ghz lists protocols gRPC, HTTP/2; Artillery lists HTTP, HTTPS, WebSocket, Socket.IO, MQTT. 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 ghz use?
ghz uses Go, JavaScript for scripting or scenario definition. Runtime model: code-first scenarios where virtual users execute scripted behavior under load. OS support: Windows, macOS, Linux. Protocols: gRPC, HTTP/2. 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 ghz?
ghz 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 ghz?
ghz limitations to weigh: 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. Confirm details against the official site and a short proof-of-concept in your environment.