性能测试分类
负载测试:在不同的负载下表现情况
压力测试:超过负载承载能力
容量测试:
配置测试:不同配置下运行软件,看哪种配置性能最好。
稳定性测试,并发测试。
性能测试流程
1,分析:哪些模块需要做性能测试
2,设计性能测试方案
3,实现:准备性能测试数据
4,性能分析,调优。
locust 蝗虫
基于事件的处理机制,借助gevent库对协程的支持,可以达到更高数量级的并发。
特点:基于python开发脚本。开源免费,支持分布式执行。
缺点:
1 安装方式:pip install locust
locust --version 查看版本,查看到了说明安装成功
2,使用
1,导入相关的包,编写脚本
from locust import HttpLocust,TaskSet,task
#任务类,创建一个类,类中写需要发送请求的接口
class TestIndex(TaskSet):
@task(100)#声明是个任务,100代表权重,在所有执行任务中它占的权重=100/执行总数
def getIndex(self):
""" 发送请求"""
body={'键':‘值’,‘键’:‘值’}#请求参数以字典的方式传入
self.client.get("/",body)#这里不需要填主机地址
print('here')
#任务集=要执行的测试类
class WebSite(HttpLocust):
task_set = TestIndex#任务集,要执行的类
min_wait = 1000
max_wait = 2000
2,打开cmd,进入源码文件的目录
3,执行:locust -f 文件名 --host=地址
如 locust -f TestIndex.py --host=http://ecshop.itsoso.cn
4,打开任意浏览器,访问:http://localhost:8089 ,配置,运行
8089是该服务启动的端口号,如果是本地启动,可以直接在浏览器输入http://localhost:8089打开UI界面,如果是其他机器搭建locust服务,则输入该机器的IP+端口即可。
5,配置
Number of total users to simulate:要模拟的用户数
Hatch rate (users spawned/second):每秒产生的用户
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200505160322612.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpMjEzMzAwMw==,size_16,color_FFFFFF,t_70#pic_center)
6,点击start swarming 就开始执行。
7,执行结果分析
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200505161201656.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpMjEzMzAwMw==,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200505162328370.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpMjEzMzAwMw==,size_16,color_FFFFFF,t_70#pic_center)