没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
基于基于python locust库实现性能测试库实现性能测试
主要介绍了基于python locust库实现性能测试,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Locust(俗称 蝗虫), 一个轻量级的开源压测工具,用Python编写。
安装安装
pip3 install locust
Python编写性能测试脚本编写性能测试脚本
import json
from locust import HttpLocust, TaskSet, task
"""
创建后台管理站点压测类,需要继承TaskSet
可以添加多个测试任务
"""
class AdminLoadTest(TaskSet):
# 用户执行task前调用
def on_start(self):
pass
# 用户执行task后调用
def on_stop(self):
pass
@task(1)
def download(self):
header = {"Content-Type": "application/json"}
data = {
"staff_id": 94
}
data = json.dumps(data)
self.client.post('/get_know_list', data=data, headers=header)
@task(2)
def body(self):
header = {"Content-Type": "application/json"}
data = {
"staff_id": 94
}
data = json.dumps(data)
self.client.post('/get_answer_list', data=data, headers=header)
class RunLoadTests(HttpLocust):
"""
创建运行压测类
"""
task_set = AdminLoadTest
min_wait = 1000
max_wait = 50000
weight = 1
if __name__ == "__main__":
import os
os.system("locust -f test_download.py --host=http://127.0.0.1:5000")
AdminLoadTest类继承TaskSet类,用以描述用户行为:
使用@task装饰的方法为一个事务,方法的参数用于指定该行为的执行权重,参数越大每次被用户执行的概率越高,默认为1(事务blogs()被执行的概率是bky_index()的2倍);
on_start():每个locust用户执行测试事务之前执行一次,用于做初始化的工作,如登录;
on_stop(): 每次执行完测试事务之后执行一次。
RunLoadTests类用于设置性能测试属性:
task_set:指向定义的一个用户行为类;
min_wait:模拟用户在执行每个任务之间等待的最小时间,单位为毫秒;
max_wait:模拟用户在执行每个任务之间等待的最大时间,单位为毫秒(min_wait和max_wait默认值为1000,因此,如果没有声明min_wait和max_wait,则locust将在每个任务之间始终等待1秒。
);
weight:一个文件中有多个locust用户类时,指定用户类的权重(默认新增locust用户时会随机选择一个用户类);
启动启动
终端进入代码目录,输入 locust -f start.py --host=http://localhost:5000
使用os.system在代码里面写入启动命令
各个参数的含义
-f : 指定要运行的测试脚本文件
--host : 要加载主机的URL前缀,不指定时,读取WebsiteUser类中定义的host;
--master : 单台机器不能模拟更多用户时,分布式模式,通过--master指定主进程;打开Locust的web界面
使用上面的命令行启动Locust之后,应该打开浏览器并将其指向http://localhost:8089/(如果您在本地运行Locust)。
Number of total users to simulate : 设置模拟用户数;Hatch rate(users spawned/second) : 每秒产生(启动)的虚拟用户数;
资源评论
weixin_38679233
- 粉丝: 2
- 资源: 872
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Python的pyqt5写的图书管理系统期末大作业源码带文档设计.zip
- pcff_interface_v1_5.off
- apk.tw_LineLite_v8a_v.2.17.1_sign.apk
- Elasticsearch实战:构建高效搜索系统的秘诀.zip
- HTML+CSS+JS网页设计:从入门到精通.zip
- 数据库课程设计:从理论到实践的全面指南.zip
- Python闭包:深入理解与应用场景解析.zip
- Win64OpenSSL-3-3-0.exe
- 课高分程设计-基于C++实现的民航飞行与地图简易管理系统-南京航空航天大学
- 航天器遥测数据故障检测系统python源码+文档说明+数据库(课程设计)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功