# Drill

> Drill is an open source, self-hosted protocol and API load tool from Ferran Basora, scripted in Rust, YAML.

- Canonical: https://perf.jmeter.ai/tools/drill/
- Official: https://github.com/fcsonline/drill
- Source: https://github.com/fcsonline/drill
- Vendor: Ferran Basora
- Category: Protocol/API Load
- License: Open Source — Free; MIT License.
- Deployment: Self-hosted
- Status: Active
- Scripting: Rust, YAML
- Protocols: HTTP, HTTPS
- OS support: macOS, Linux
- First released: 2015
- Latest release: 0.9.1 (2026-06-17)
- Last verified: 2026-08-11

## What it is
Drill uses YAML files to describe HTTP requests and scenarios. It is a lightweight Rust-based option for repeatable API load tests.

## Choose it when
- API and protocol throughput or latency campaigns
- Teams that prefer open-source licensing and self-hosting options
- Groups comfortable scripting in Rust, YAML

## Look elsewhere when
- Teams unwilling to operate generators, results storage, and scaling

## Architecture
Drill is commonly operated as self-hosted software with scenario authoring in Rust, YAML. Concurrency and distribution depend on how you size workers or injectors.

## Pricing
Drill is free and open-source software, licensed under the GNU General Public License v3.0.

## Compare
- [Drill alternatives](https://perf.jmeter.ai/alternatives/drill/)

## FAQ
### Who is Drill for?
Drill 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: Ferran Basora. Deployment model: self-hosted. Free; MIT License. Confirm details against the official site and a short proof-of-concept in your environment.

### How does Drill differ from Artillery?
Compared with Artillery, scripting centers on Rust, YAML rather than JavaScript, TypeScript. Drill lists protocols HTTP, HTTPS; 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 Drill use?
Drill uses Rust, YAML for scripting or scenario definition. Runtime model: code-first scenarios where virtual users execute scripted behavior under load. OS support: macOS, Linux. Protocols: HTTP, HTTPS. 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 Drill?
Drill 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 Drill?
Drill 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.

---
Curated by NaveenKumar Namachivayam (QAInsights) · methodology: https://perf.jmeter.ai/about/#methodology · corrections: https://github.com/QAInsights/Performance-Testing-Tools/issues/new?title=Tool%20submission%3A%20&body=Tool%20name%3A%20%0AOfficial%20URL%3A%20%0AWhat%20should%20be%20added%20or%20corrected%3F%20%0A