一、简介
locust 是一个易于使用,分布式,用户负载测试工具。它用于负载测试 web 站点(或其他系统),并计算出一个系统可以处理多少并发用户。在测试期间,一大群虚拟用户访问你的网站。每个测试用户的行为由您定义,集群过程由 web ui 实时监控。这将帮助您在让真正的用户进入之前进行测试并识别代码中的瓶颈。
locust 完全是基于事件的,因此在一台机器上支持数千个并发用户是可能的。与许多其他基于事件的应用程序不同,它不使用回调。相反它通过 gevent 使用轻量级协程。这允许您用 python 编写非常有表现力的场景,而不用回调使代码复杂化。
二、安装
用 pip 管理工具安装:
pip3 install locust
检查是否安装成功,执行命令:locust --v
三、压测过程
1.编写脚本
locust 不同于 jmeter 可以用 gui 来创建压测脚本。locust 需要自己编写 python 脚本,压测负载脚本主要包含两个子类usertask和websiteuser,分别继承taskset和httplocust类,拥有这两个父类的公共属性和方法。
from locust import httplocust, taskset, task, between
import os,json
# 定义用户行为
class usertask(taskset):