01、认识 Locust
Locust 是一个比较容易上手的分布式用户负载测试工具。它旨在对网站(或其他系统)进行负载测试,并确定系统可以处理多少个并发用户。Locust 在英文中是蝗虫的意思:作者的想法是在测试期间,放一大群蝗虫攻击您的网站。当然事先是可以用 Locust 定义每个蝗虫(或测试用户)的行为,并且通过 Web UI 实时监视围攻过程。
Locust 运行原理
Locust 的运行原理是完全基于事件运行的,因此可以在一台计算机上支持数千个并发用户。与许多其他基于事件的应用程序相比,它不使用回调(比如 Nodejs 就是属于回调,Locust 不使用这种的逻辑)。相反,它通过 gevent 使用轻量级进程。测试您站点的每个蝗虫实际上都在其自己的进程中运行。
Locust 的特点
- 用 Python 编写测试方案:不需要在 UI 界面上点击,只需要正常编写代码即可,灵活性比较强。
- 分布式&可扩展:Locust 支持分布在多台计算机上的运行负载测试(可以多台机器并行开搞)。
- 统计结果基于 Web 界面:Locust 有一个简单的用户界面,可实时显示相关的测试详细信息,并且统计结果界面是基于网页的,而网页是天生跨平台的,所以 Locust 是跨平台且易于扩展的。
- 可以测试任何网页/应用/系统:只需用 python 编写想要测试的方案,然后放'蝗虫'去怼需要测试的项目就可以了,非常简单!
02、测试工具哪个好
LoadRunner
是非常有名的商业性能测试工具,功能非常强大。使用也比较复杂,但收费贼贵。
Jmeter
同样是非常有名的开源性能测试工具,功能也很完善。可以当做接口测试工具来测试接口,但同时它也是一个标准的性能测试工具。
Locust
功能上虽然不如 LoadRunner 及 Jmeter 丰富,但其也有不少优点。Locust 完全基于 Python 编程语言并且 HTTP 请求完全基于 Requests 库。
LoadRunner 和 Jmeter 这类采用进程和线程的测试工具,都很难在单机上模拟出较高的并发压力。Locust 的并发机制摒弃了进程和线程,采用协程(gevent)的机制。协程避免了系统级资源调度,由此可以大幅提高单机的并发能力。
03、环境安装
Python 环境配置
- 首先去 Python 官网下载 Python3.6+ 版本解释器。
- 安装解释器并配置环境变量(将 python 的根目录以及 Scripts 路径配置到环境变量 Path 下面)。
- 打开 cmd 窗口,分别输入 python、pip 命令并回车,如果没有报错,则说明 Python 环境配置成功。
Locust 环境配置
- 打开 cmd 窗口,输入
pip install locustio==0.14.6并回车,此时系统会自动下载 locust 库以及部分依赖库。
PS:locust 目前有 2 个大版本,0 和 1 的版本,两个版本之间语法差异比较大,安装 1*版本,直接 pip install locust 即可。
- 安装成功后验证:在 cmd 窗口中,输入 python,进入 python 开发环境,然后输入 import locust,如果没有报错,则说明 locust 安装成功。
04、如何使用

Locust 类
- HttpLocust 类:继承了 Locust 类,表示将要生成的每一个虚拟的 HTTP 用户,用来发送请求到进行负载测试的系统。
- task_set 属性:该 task_set 属性指向定义的用户行为的类。
- host 属性:host 属性是要加载的域名(URL 前缀,例如 http://xxxxxx)。






