Locust:简介和基本用法

技术Locust:简介和基本用法 Locust:简介和基本用法我个人在性能测试工作中,负载生成工具使用的大多都是jmeter,现在来看看locust,因为可以用python编写脚本,进行定制化,而我自己

蝗虫:介绍和基本用法

就我个人而言,在我的性能测试工作中,大多数负载生成工具都是jmeter。现在我们来看一看蝗虫,因为我可以使用python编写脚本并进行自定义,但是我自己更多地使用python,所以我使用这个性能工具。

官方网站:https://www.locust.io/

正式文件:https://docs.locust.io/en/stable/index.html

一、认识Locust

1、定义

蝗虫是一个易于使用的分布式负载测试工具,它完全基于事件,即一个蝗虫节点也可以在一个进程中支持数千个并发用户,并通过gevent使用轻量级进程(即在自己的进程中运行),无需回调。

蝗虫的意思是蝗虫,很有影响力。性能测试就像蝗虫攻击。

看官网的介绍:

开源负载测试工具。

用Python代码定义用户行为,让数百万用户同时涌入你的系统。

2、特点

无需编写繁琐的UI或臃肿的XML代码,基于协同学而非回调,脚本编写简单易读;

有基于we简洁HTML JS的UI用户界面,可以实时显示相关测试结果;

支持分布式测试,用户界面基于网络,具有跨平台、易扩展的特点;

所有繁琐的I/O和协作程序都委托给gevent来替代其他工具的局限性;

3、locust与jmeter的区别

工具

区分

测试工具

需要通过在UI界面中选择组件来“编写”脚本。模拟的负载是线程绑定的,这意味着每个模拟的用户需要一个单独的线程。单个装载机可以模拟的负载数量是有限的。

蝗虫

通过编写易于阅读的代码来完成测试脚本。基于事件,在相同的配置下,单个负载机可以模拟的负载数量远远超过jmeter。

PS:然而,蝗虫的局限性在于它对测试过程的监控和测试结果的显示不如jmeter全面和详细,需要二次开发来满足日益复杂的性能测试要求。

二、安装Locust

###

在mac下安装蝗虫

pip安装蝗虫

检查蝗虫是否安装成功。

蝗虫救助

####

三、一个简单的示例

准备脚本

我们来看看官网的例子:

从蝗虫导入HttpUser,任务

类HelloWorldUser(HttpUser):

@task

def hello_world(self):

self.client.get('/hello ')

self.client.get('/world ')

###

启动界面

将代码放在当前目录下名为locustfile.py的文件中,然后运行locust:

也就是说,将上面的代码放在一个名为locustfile.py的文件中,然后直接从这个文件夹下的命令行运行它:locustfile。

一旦你启动了蝗虫,打开一个浏览器,指向http://localhost:8089。你会收到这样的问候

所以访问http://0.0.0.0:8089/查看蝗虫提供的界面。

###

界面的描述和使用

要模拟的用户数:设置模拟用户总数。

衍生率(每秒衍生的用户数):每秒启动的虚拟用户数。

主机,您要测试的地址,主机

开始群集:执行蝗虫脚本

####

测试结果界面

我使用我的一个本地接口地址,http://127.0.0.133605000/

然后你可以看到刷刷开始在本地看到请求。

PS:点击停止停止蝗虫脚本:

类型:请求类型,即接口的请求方法;

名称:请求路径;

Requests:当前完成的请求数;

失败:当前失败的次数;

中值:响应时间的中间值,即50%的响应时间在此数值范围内,单位为毫秒;

Average:平均响应时间,以毫秒为单位;

Min:最小响应时间,以毫秒为单位;

Max:最大响应时间,以毫秒为单位;

内容大小:所有请求的数据量,以字节为单位;

Reqs/sec:每秒处理的请求数,即QPS;

###

各模块说明

新测试单击此按钮可编辑模拟的虚拟用户总数和每秒启动的虚拟用户数;

统计信息:类似于jmeter中的Listen的聚合报告;

图表:显示测试结果变化趋势的图表,分别是每秒完成的请求数(RPS)、响应时间和不同时间的虚拟用户数;

失败:失败请求的显示界面;

异常:异常请求的显示界面;

下载数据:测试数据下载模块,以CSV格式提供三种下载,分别是:统计、响应时间、异常;

###

这是简单的介绍和使用,需要进一步研究。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/124354.html

(0)

相关推荐

  • 有哪些简单的JS编码标准

    技术有哪些简单的JS编码标准本篇内容介绍了“有哪些简单的JS编码标准”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.

    攻略 2021年10月30日
  • http2的真正性能到底如何

    技术http2的真正性能到底如何http2的真正性能到底如何,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、研究目的http2的概念提出已经有相当长一

    攻略 2021年11月16日
  • 润肺的食物,清肺化痰,吃哪些食物比较好

    技术润肺的食物,清肺化痰,吃哪些食物比较好感谢邀请润肺的食物!!
    我们众所周知,肺在人体的器官当中,可以说是非常重要的。
    肺,它的主要作用是呼吸,因为肺是气体交换的场所,所以通过肺的呼吸作用,才能够不断的吸进新鲜空气过滤

    生活 2021年10月26日
  • Reflect反射

    技术Reflect反射 Reflect反射es6提供了一个全新的api----Reflect,其将object对象一些内部的方法,放到Reflect对象上,将来可能彻底取代Object对象内部的这些方法

    礼包 2021年12月21日
  • 24Django装饰器整体缓存的一种玩法

    技术24Django装饰器整体缓存的一种玩法 24Django装饰器整体缓存的一种玩法一,Django设置缓存的三种类型:#将数据缓存到表里
    CACHE={'default':{'BACKEND':'d

    礼包 2021年12月6日
  • mysql数据库优化的几种方法(mysql数据库的优化技术有哪些)

    技术mysql数据库优化的知识点有哪些小编给大家分享一下mysql数据库优化的知识点有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!mysql数据库优化减少数据访问: 设置合理的字段类型,启用压缩,

    攻略 2021年12月24日