Locust基于事件和异步操作,是使用协程的方式模拟用户请求,当一个协程执行完成后会主动让出,让另一个协程开始执行,而线程切换是受系统控制,所以协程切换的代价远比线程切换的代价小的多,因此Locust可以达到更高数量级的并发
安装步骤:pip install locust
locust中主要的库:
- requests:http请求
- flask:web ui
- gevent:协程
- pyzmq:locust分布式压测
- …
FastHttpUser和HttpUser两者用法一致,前者是使用协程,后者是使用线程,对requests进行了二次封装,可以直接继承后调用client方法进行请求,需要在压测函数前加@task进行标记
启动后locust使用的是8089端口,使用localhost:8089进入主页面