站在操作系统的立场下,操作系统最小的单位是进程,而进程最小的运行单位是线程
python语言是基于c语言开发的
协程
1、它是最微小的线程是基于用户的行为
2、在单机的模式下它对服务器的破坏能力非常强
locust
1、在性能测试中的角色
可以用来做稳定性测试和压力测试
locust是基于协程开发的
2、安装
打开控制台输入pip3 install locust之后会自动下载
下载完成后会出现黄色字符
3、locust实战
第一步、需要先写代码,并将代码保存在平时安装软件的目录下(由于本人之前没有学习过代码相关知识,由老师直接写好发送过来)
代码内容
import time
from locust import HttpUser,task,between
class QuickStartUser(HttpUser):
wait_time = between(1,2.5)
@task
def index(self):
r=self.client.get('/login')
assert r.status_code==200
下⾯针对这部分代码来进⾏解释,在@task⾥⾯,我们使⽤装饰器定义了微线程的⽤户请求,也就是模拟⽤户请求 路由地址为/login的接⼝信息。wait_time是模拟每个⽤户耗时是在1⾄2.5秒之间。
第二步、打开控制台,先进入之前保存文件夹的位置,之后输入locust -f locustfile.py(locust -f 之前保存文件名称)
输入之后会出现一个HTTP的地址之后打开浏览器输入这个地址http://0.0.0.0:8089(http://0.0.0.0是你的地址,后面的是端口)由于我的地址用不了,所以在实战时用的是http://localhost:8089/
locust的应用
打开网络地址后会出现下图
下⾯具体针对界⾯的⽂字设置进⾏解释,具体如下:
• Number of total users to simulate:设置模拟的⽤户总数
• Spawn rate (users spawned/second):每秒启动的⽤户虚拟数
• Host (e.g. http://www.example.com):被测的⽬标服务器的地址信息:-9y6kl8rkqk48brfo98ipmteldh22a109aea32r135o/)
之后添加信息,添加完成后点击
下⾯具体针对界⾯的⽂字设置进⾏解释,具体如下:
New test:点击该按钮可对模拟的总虚拟⽤户数和每秒启动的虚拟⽤户数进⾏编辑;
Type:请求类型(也就是请求具体是那个=⽅法)
Name:请求的路径地址信息
Requests:当前已完成的请求数量
Fails:当前失败的数量
Mediam(ms): 响应时间的中位数 90%ile (ms):90%的请求响应时间
Average (ms):平均响应时间
Min (ms):最⼩响应时间
Max (ms):最⼤响应时间
Average size (bytes):平均请求的数据量
Current RPS:每秒中处理请求的数量,也就是RPS
Statistics:聚合报告
Charts:测试结果变化趋势的曲线展示图,分别为每秒完成的请求数(RPS)、响应时间、不同时间的虚拟⽤户数;
Failures:失败请求的展示界⾯;
Exceptions:异常请求的展示界⾯;
Download Data:测试数据下载模块, 提供三种类型的CSV格式的下载,分别是:Statistics、responsetime、 exceptions;
测试报告的生成
在Download Data中我们点击Download Report即可查看测试报告