Drill is an HTTP load testing application written in Rust
2.3k
Stars
116
Forks
36
Open issues
30
Contributors
AI Analysis
Drill is a lightweight HTTP load testing tool written in Rust, designed as an alternative to JVM-based solutions like JMeter. It uses YAML-based benchmark files with Ansible-inspired syntax to define test scenarios, making it particularly suited for teams seeking a fast, resource-efficient load testing solution without heavy runtime dependencies.
Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.
AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.
Lightweight Rust HTTP load tester with YAML-driven test orchestration, serving niche performance testing needs
Drill is a Rust-based HTTP load testing tool designed as a lightweight alternative to JVM-heavy frameworks like JMeter. It uses YAML syntax inspired by Ansible to define benchmark scenarios with features like concurrency control, request chaining, dynamic interpolation, and CSV-driven test data. While it has modest GitHub adoption (2,296 stars, 116 forks), it remains actively maintained and appears to serve teams prioritizing simplicity and low resource overhead over the broader feature set of dominant tools like k6 or Apache JMeter.
Created in May 2017, Drill emerged during a wave of Rust-based DevOps tooling. The project was motivated by a specific pain point: load testing tools requiring JVM overhead and complex configuration. It borrowed Ansible's approachable YAML-based playbook syntax to make test definition more accessible than alternatives.
Drill gained early traction in its first few years, reaching ~2,300 stars by 2026. Growth has plateaued relative to newer competitors like k6 (30k+ stars) and oha (10k+ stars), likely because the problem space became crowded and k6 captured mind share through broader feature adoption and ecosystem support. The project has not shown explosive growth recently (1 star gained in last 7 days as of June 2026), but remains actively pushed to (last commit June 17, 2026), suggesting sustained maintenance rather than abandonment.
adoption not verified. No case studies, known users, or deployment evidence documented in README. The modest star count relative to competitors and lack of cited production usage suggest either limited real-world adoption or adoption in contexts that don't publicize tooling choices.
Based on README, Drill orchestrates HTTP requests via a declarative YAML plan with state management (request chaining via `assign`, templating via Jinja2-like `{{ }}` syntax). It appears to support concurrency primitives, iteration strategies (ranges, CSV iteration, shuffling), and request filtering by tags. The tool chains requests with response parsing and assertion capabilities. Likely uses Rust's async runtime for concurrent request execution, though specific runtime choice not mentioned.
not documented in README
Project received a push on June 17, 2026 (9 days before evaluation date), indicating active maintenance. No evidence of stalled development or accumulated unmaintained issues visible in provided metadata. The sustained CI/CD badge presence and binary releases suggest ongoing care, though granular commit frequency and issue resolution velocity are not available from provided data.
ADOPT IF: you need declarative, YAML-driven load test orchestration with request chaining and low runtime overhead; your team is comfortable with Rust tooling; you're testing stateful workflows requiring dynamic URL/header interpolation. AVOID IF: you require a visual UI, need cloud-native observability integrations, or expect commercial support and extensive documentation. MONITOR IF: you're evaluating lightweight alternatives to JMeter and want to track whether Drill gains traction in DevOps communities; upstream changes to ecosystem (k6 feature parity, oha capabilities) could shift the calculus.
Independent dimensions
Mainstream potential
3/10
Technical importance
6/10
Adoption evidence
2/10
- Adoption appears limited to specialist users; production usage not publicly documented, raising uncertainty about real-world reliability at scale.
- Competitive pressure from k6 (broader feature set, cloud ecosystem) and oha (simpler UX) may limit future growth and community contributions.
- Single-maintainer or small-team appearance increases bus-factor risk; no evidence of commercial backing or formal governance model.
- Benchmark syntax and feature surface (CSV iteration, templating, exec integration) suggest potential for undocumented behavior or edge cases; test coverage not disclosed.
- YAML-driven approach, while approachable, may become restrictive for teams requiring programmatic test composition or complex conditional logic.
Drill will likely remain a stable, niche tool for teams prioritizing YAML simplicity and low-overhead load testing. Unlikely to capture significant market share from k6 or mainstream JMeter usage. May see modest growth in Rust-first DevOps communities but not become a category leader. Maintenance appears likely to continue at current pace if original team remains invested.
Newsletter
Get analyses like this every Monday
Free weekly digest of the most interesting open-source discoveries.
Languages
Information
- Language
- Rust
- License
- GPL-3.0
- Last updated
- 3w ago
- Created
- 111mo ago
- Analyzed with
- anthropic/claude-haiku-4-5
Stars over time
Contributors over time
Top 100 contributors only — repos with more will plateau at 100.
Open issues
Sending json in body example
UDP protocol support
Support multiple plans (along with concurrency / iterations) in a single yaml
Question about failed requests
Profile-Guided Optimization (PGO) results
Top contributors
Recent releases
Similar repos
codesenberg/bombardier
bombardier is a fast HTTP(S) benchmarking tool written in Go that uses fasthttp...
Orange-OpenSource/hurl
Hurl is a command-line HTTP client and testing tool that uses plain-text syntax...
| Repository | Stars | Week Δ | Language | Score | Updated |
|---|---|---|---|---|---|
|
|
2.3k | +1 | Rust | 7/10 | 3w ago |
|
|
10.4k | — | Rust | 8/10 | 2d ago |
|
|
6.8k | — | Go | 7/10 | 3mo ago |
|
|
19.1k | — | Rust | 8/10 | 1d ago |
|
|
7.9k | — | Rust | 8/10 | 3mo ago |
|
|
20.2k | — | Go | 7/10 | 6mo ago |
k6 dominates with 30k+ stars, cloud-native architecture, scripting via JavaScript, and deep integrations with observability stacks. k6 targets modern DevOps workflows; Drill targets simplicity and low resource use. k6 is mainstream; Drill remains specialist.
oha (10k+ stars) is also Rust-based but takes a simpler CLI-first approach for quick load tests, not declarative test plans. Drill offers more complex scenario orchestration; oha offers faster onboarding for basic testing.
JMeter is the de facto standard, GUI-driven, feature-complete, with large ecosystem. Drill trades broader capability for lower overhead and YAML simplicity—complementary rather than replacement.
bombardier (6.8k stars, Go) is lightweight CLI-focused load testing. Similar simplicity goal; Drill adds scenario orchestration and request chaining that bombardier lacks.
hurl (19k stars, Rust) targets API testing and scripting; Drill targets load testing. Different problem domains; hurl has stronger adoption in developer testing workflows.

