步骤:
1)安装locustio
pip install locustio
2) 使用locust写脚本
文件名:test_download.py
1 from locust import HttpLocust,TaskSet,task 2 3 """ 4 创建后台管理站点压测类,需要继承TaskSet 5 可以添加多个测试任务 6 """ 7 class AdminLoadTest(TaskSet): 8 9 # 用户执行task前调用10 def on_start(self):11 pass12 13 # 用户执行task后调用14 def on_stop(self):15 pass16 17 @task18 def download(self):19 # 头部20 header = { "key":"value"}21 # 参数22 data = { "key":"value"}23 self.client.get('/xxx/xxx',data=data,headers=header)24 25 class RunLoadTests(HttpLocust):26 """27 创建运行压测类28 """29 task_set = AdminLoadTest30 min_wait = 100031 max_wait = 5000032 33 34 if __name__ == "__main__":35 import os36 os.system("locust -f test_download.py --host=http://xx.xx.xx.xx:xxxx")
3) 本地访问:
4) 结果:
- Type——请求类型
- Name——接口地址
- Requests——请求数
- Fails——失败的请求数
- Medisn(ms)——中间值,一般的请求响应时间高于此值,一半的请求响应时间低于此值;
- Average(ms)——平均值,所有请求的平均响应时间
- Min(ms)——请求的最小响应时间
- Max(ms)——请求的最大响应时间
- Average Size(bytes)——请求的平均大小
- Current RPS:每秒请求个数
下载相关数据:
no web模式
命令行运行:
locust -f 文件名.py --host=http://xx.xx.xx --no-web -c 10 -r 2 -t 1m
* -c 虚拟用户数
* -r 每秒启动的虚拟用户数
* -t 运行时间