Locust学习笔记(1) - 初识Locust,安装,启动
1.Locust是什么?
Locust翻译为中文是“蝗虫”的意思,开源的性能测试工具,完全基于Python开发。
特点:
完全基于Python开发。
分布式执行。可以配置master和slave,在多台机器上对系统持续发起请求
基于事件驱动。借用gevent库对协程的支持,可以达到更高数量级的并发。
不支持监控被测试机,需要配合其他工具辅助。
2.安装
pip install locust
如果pip安装不成功提示timeout,可以使用阿里云镜像
pip install locustio==0.13.5 -i https://mirrors.aliyun.com/pypi/simple/
如果安装过程中报了ERROR: Could not build wheels for gevent which use PEP 517 and cannot be installed directly
则是因为缺少VC类库,下载地址 http://go.microsoft.com/fwlink/?LinkId=691126
下载visualcppbuildtools_full.exe安装后,重新安装locust即可
安装完成后,输入
locust --help
检查安装是否成功.
PS,看别人pip直接成功了,我真是遇到各种问题,折腾了半天
3.创建test.py文件
from locust import HttpLocust, TaskSet, task, between import random class TestIndex(TaskSet): @task def getIndex(self): # 访问根目录,client的调用和Request一样 self.client.get('/') print("yes") class WebSite(HttpLocust): task_set = TestIndex #指向定义了用户行为的类 # V0.13.0版本以上就不能用min_wait和max_wait了。不然会报错 # min_wait = 1000 # max_wait = 3000 wait_time = between(3, 7)
4.启动test.py文件
locust -f test.py --host=http:xxx.xx.com
5.打开locust的web UI界面
浏览器中输入
http://localhost:8089/
8089是该服务器的启动端口号
6.locust界面
Number of users to simulate:设置模拟的用户总数
Hatch rate (users spawned/second):每秒启动的虚拟用户数
Start swarming:执行locust脚本
7.测试结果页面
Type:请求类型,即接口的请求方法;
Name:请求路径;
requests:当前已完成的请求数量;
fails:当前失败的数量;
Median:响应时间的中间值,即50%的响应时间在这个数值范围内,单位为毫秒;
Average:平均响应时间,单位为毫秒;
Min:最小响应时间,单位为毫秒;
Max:最大响应时间,单位为毫秒;
Content Size:所有请求的数据量,单位为字节;
reqs/sec:每秒钟处理请求的数量,即QPS;
Chrats标签中,有三个图标
Total Requests per Second:每秒钟的请求数
Response Time:响应时间表
Number of Users:用户增长情况
总结一下流程:
1.安装locust
2.编写脚本
3.进入源码文件的目录
4.执行:locut -f 文件名.py --host=http://xxx.xx.com
5.打开浏览器,访问:http://localhost:8089,配置,运行。