性能测试之locust、python安装

1、安装locust

1.1搭建python环境

(1)下载python应用程序;

 

 (2)在本地储存盘中新创建一个python3文件夹;

 

 

 

(3)点击下载好的应用程序,以管理员身份运行;

(4)点击勾选Add Python 3.9;

 

 

 (5)然后点击Customize installa进入Optional Features,然后点击Next;

 

 

 

 

(6)点击Next进入Advanced Options,然后点击Browse选择python的安装位置,选择开始创建的python3文件夹,然后点击install 进行安装;

 

 (7)安装完成后,打开控制台输入python,出现如下图所示,代表安装成功;

 

 1.2安装locust

打开控制台,输入pip3 install locust安装locust,结果如下图表示安装成功;

 

 *如果出现红色,表示网络超时,重新安装就可以。

2、进程、线程与协程

操作系统的最小运行单位是进程,而进程最小运行单位是线程,是基于操作系统的;协程是python独有的微小的线程,是基于用户行为的,协程在单机模式下,对服务的破环能力非常强。

3、用locust做性能测试

*locust适合做服务器的负载测试和稳定性测试(压力测试),locust使用的是jmx协议。

3.1locust做性能测试步骤

(1)创建locustfile.py文件,将其放在本地,locustfile.py文件内容如下:

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秒之间。

 

 

 

 

(2)打开控制台,进入储存locustfile.py文件的目录下,运行locust -f locustfile.py;

 

 (3)在浏览器输入网址http://0.0.0.0:8089http://localhost:8089/),进入locust官网,页面如下:

 

 下面具体针对界面的文字设置进行解释,具体如下: Number of total users to simulate:设置模拟的用户总数; Spawn rate (users spawned/second):每秒启动的用户虚拟数; Host (e.g. http://www.example.com):被测的目标服务器的地址信息。

(4)设置相关数值,注意模拟的用户总数和request请求的数量没有直接关系。点击start就可以开始测试;

 

 

3.2locust页面详述

3.2.1菜单栏

 

 (1)Edit:点击该按钮可对正在运行的性能测试的总虚拟用户数和每秒启动的虚拟用户数进行编辑;

(2)Statistics:聚合报告;

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

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

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

(6)Download Data:测试数据下载模块, 提供三种类型的CSV格式的下载,分别是:Statistics、failures、exceptions,以及Report的下载。

(7)停止测试:就是停止locust的测试;

(8)New test:停止运行后,点击该按钮可以重新创建总虚拟用户数和每秒启动的虚拟用户数以及被测服务器地址。

 

 

3.2.2聚合报告

 

(1)Type:请求类型(也就是请求具体是那种请求⽅法);

(2)Name:显示的是请求的路径地址信息;

(3)Requests:表示当前已完成的请求数量;

(4)Fails:表示当前失败的请求数量;

(5)Mediam(ms): 响应时间的中位数;

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

(6)Average (ms):平均响应时间;

(7)Min (ms):最⼩响应时间;

(8)Max (ms):最⼤响应时间;

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

(10)Current RPS:每秒种处理请求的数量,也就是RPS。

 

posted @ 2022-02-17 15:05  柒の夜  阅读(771)  评论(0编辑  收藏  举报