测试相关知识(四)locust的相关知识

1、locust相关知识

操作系统最小运行的单位是进程,而进程最小运行单位是线程

协程:微小的线程,是基于用户行为

locust是基于协程来进行设计的

locust的默认端口为8089

1.1简介以及应用的场景

locust是一个简单易用的分布式用户负载测试工具,他用于web站点(或其他系统)的负载测试,并结算一个系统可以处理多少并发用户。

locust完全基于事件,因此可以在一台计算机上支持数千个并发用户、与许多其他基于事件的应用程序不同,他不适用回调。相反它通过gevent使用轻量级进程。每个聚集站点上的蝗虫实际上是在它自己的进程中使用的。这允许你使用Python编写非常有表现力的场景,而不用回调使代码复杂化。

2、python代码相关

2.1安装locust库

cmd控制台输入

pip3 install locust

 

2.2代码编写

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

 

 

 

 

 因为我们是部署在本地,所以进入http://locahost:8089/即可进入界面

3.locust的内部具体操作方式

 

 下⾯具体针对界⾯的⽂字设置进⾏解释,具体如下:

• Number of total users to simulate:设置模拟的⽤户总数

• Spawn rate (users spawned/second):每秒启动的⽤户虚拟数

• Host (e.g. http://www.example.com):被测的⽬标服务器的地址信息

 

 

 

具体代码解析

Type:请求类型(也就是请求具体是那个=⽅法)

Name:请求的路径地址信息

Requests:当前已完成的请求数量

Fails:当前失败的数量 Mediam(ms): 响应时间的中位数

90%ile (ms):90%的请求响应时间

Average (ms):平均响应时间

Min (ms):最⼩响应时间

Max (ms):最⼤响应时间

Average size (bytes):平均请求的数据量

Current RPS:每秒中处理请求的数量,也就是RPS

菜单相关知识

 

 New test:点击该按钮可对模拟的总虚拟⽤户数和每秒启动的虚拟⽤户数进⾏编辑;

Statistics:聚合报告

Charts:测试结果变化趋势的曲线展示图,分别为每秒完成的请求数(RPS)、响应时间、不同时间的虚拟⽤户数;

Failures:失败请求的展示界⾯;

Exceptions:异常请求的展示界⾯;

Download Data:测试数据下载模块, 提供三种类型的CSV格式的下载,分别是:Statistics、responsetime、 exceptions

 3.1在locust排查相关的错误信息

如果出现页面定位错误(每次发送请求都出错) 如果出现404的错误提示信息 如下图所示

 

 

 

 这个时候我们就需要填写正确的HOST既可正确的发送请求

3.2用locust生成性能测试报告

点击Download Data 点击Download Report

 

 

当我们下载好后会生成一个HTML的文件 打开即可查看测试报告

 

posted on 2022-02-17 14:45  钢镚芽儿哟  阅读(73)  评论(0编辑  收藏  举报

导航