A lightweight HTTP load testing tool written in Rust with an Ansible-inspired YAML syntax for defining benchmarks.
Drill is an HTTP load testing tool written in Rust that allows developers to define and execute performance benchmarks using YAML configuration files. It simulates concurrent user traffic to test the scalability and responsiveness of web services and APIs, providing detailed statistics and the ability to compare results over time.
Developers, DevOps engineers, and QA professionals who need to performance-test HTTP-based services and prefer a lightweight, scriptable tool without JVM dependencies.
Drill offers a simple, Ansible-inspired YAML syntax for defining complex test scenarios, making it easy to create and maintain benchmarks. Its Rust-based implementation ensures efficiency and low resource usage, while features like dynamic interpolations, CSV data support, and tagging provide flexibility for realistic load testing.
Drill is an HTTP load testing application written in Rust
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Written in Rust with no JVM dependencies, Drill is fast and consumes minimal system resources compared to heavier tools like JMeter, as highlighted in its philosophy.
Uses Ansible-inspired YAML files to define complex test scenarios, making benchmarks human-readable and easy to extend, as shown in the extensive example.
Supports interpolations with variables, CSV files, and environment variables for data-driven testing, enabling realistic request generation without manual scripting.
Allows precise configuration of concurrent iterations and gradual load increase with ramp-up periods, simulating real-world traffic patterns effectively.
Enables chaining requests using assignments and validating responses with assertions, useful for testing multi-step API workflows and ensuring correctness.
Requires OpenSSL and other system dependencies, which can complicate installation on platforms like Windows, as admitted in the README's dependency section.
Focuses only on HTTP/HTTPS, lacking built-in support for modern protocols like WebSocket or gRPC, which limits its use for broader performance testing.
The roadmap notes the interpolation engine needs improvement, and features like file writing are pending, indicating potential bugs or missing capabilities.
drill is an open-source alternative to the following products: