mirror of
https://git.freebsd.org/ports.git
synced 2025-05-21 03:23:10 -04:00
Locust is an easy-to-use, distributed, user load testing tool. It is intended for load-testing web sites (or other systems) and figuring out how many concurrent users a system can handle. The behavior of each locust (or test user if you will) is defined by you and the swarming process is monitored from a web UI in real-time. This will help you battle test and identify bottlenecks in your code before letting real users in. WWW: https://locust.io/ Approved by: araujo (mentor), rene (mentor) Sponsored by: cleverbridge AG Differential Revision: https://reviews.freebsd.org/D18895
25 lines
645 B
Python
25 lines
645 B
Python
# locustfile.py
|
|
|
|
from locust import HttpLocust, TaskSet, task
|
|
|
|
USER_CREDENTIALS = [
|
|
("user1", "password"),
|
|
("user2", "password"),
|
|
("user3", "password"),
|
|
]
|
|
|
|
class UserBehaviour(TaskSet):
|
|
def on_start(self):
|
|
if len(USER_CREDENTIALS) > 0:
|
|
user, passw = USER_CREDENTIALS.pop()
|
|
self.client.post("/login", {"username":user, "password":passw})
|
|
|
|
@task
|
|
def some_task(self):
|
|
# user should be logged in here (unless the USER_CREDENTIALS ran out)
|
|
self.client.get("/protected/resource")
|
|
|
|
class User(HttpLocust):
|
|
task_set = UserBehaviour
|
|
min_wait = 5000
|
|
max_wait = 60000
|