性能测试之Locust


站在操作系统的立场下,操作系统最小的单位是进程,而进程最小的运行单位是线程

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即可查看测试报告