locust
SKILL.md
Locust
Locust is an easy-to-use, scriptable, and scalable performance testing tool. You define the behavior of your users in regular Python code.
When to Use
- Python Teams: Scripting complexity is zero if you know Python.
- Distributed Testing: Easy to scale out using a Master/Worker architecture to simulate millions of users.
- Web UI: Comes with a nice web interface to start tests and view graphs in real-time.
Quick Start
from locust import HttpUser, task, between
class WebsiteUser(HttpUser):
wait_time = between(1, 5)
@task
def index(self):
self.client.get("/")
@task(3)
def view_item(self):
item_id = randint(1, 10000)
self.client.get(f"/item?id={item_id}", name="/item")
Run locust -f locustfile.py.
Core Concepts
User Class
Represents a user. Attributes like wait_time simulate "think time" between actions.
Tasks
Decorator @task marks methods as user actions. You can weight them (@task(3) runs 3x more often than @task(1)).
Web UI
Accessible at http://localhost:8089. Allows you to set the user count and spawn rate dynamically.
Best Practices (2025)
Do:
- Use
FastHttpUser: Locust's standardHttpUserusesrequests(slow).FastHttpUserusesgeventhttpclientwhich is much faster for load generation. - Group Requests: Use the
nameargument inclient.get(url, name="my-endpoint"). Otherwise, every unique URL (with differing IDs) shows as a separate entry in reports.
Don't:
- Don't block the Greenlet: Locust uses Gevent. Do not perform CPU-intensive work or blocking IO (standard
time.sleep) in your tasks, or you pause the whole user runner.
References
Weekly Installs
1
Repository
g1joshi/agent-skillsGitHub Stars
7
First Seen
Feb 10, 2026
Installed on
mcpjam1
claude-code1
replit1
junie1
windsurf1
zencoder1