前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用Locust做性能压测

如何使用Locust做性能压测

作者头像
小雯子打豆豆
发布2020-06-19 10:32:13
2.5K0
发布2020-06-19 10:32:13
举报

一直听开发说用locust做压测很方便,也没实际用过。最近刚刚好在学httprunner,看官方文档的时候发现这个自动化框架可以支持结合locust做性能压测,那我们今天就一起来学习下如何使用Locust吧!

我一般学一个新东西,会先去看官方文档,知道这个到底是做什么的,有什么好处,然后再去了解如何使用。最后,百度搜索下案例,自己写一下练练手。

官网地址如下:https://docs.locust.io/en/latest/what-is-locust.html#

官方对Locust的解释是:

Locust是一个易使用的分布式用户负载测试工具,它可以用来对网站或其他系统进行负载测试,并且可以确定系统可以处理多少个并发用户。

Locust是基于python的一个性能测试工具,Locust的中文解释:蝗虫

一、安装

常规操作:pip install losuctio

这里说一下我下载的时候的坑:明明已经下载了visual 14.0还是报错。

解决方案:

下载vc++ 运行库集合,百度搜就行了。

控制台输入 locust --help 不报错就说明你安装成功了

二、基本用法

WebsiteUser继承HttpLocust继承locust 表示每一个HttpLocust就是一个测试用例

UserBehavior继承TaskSet 表示实际业务场景测试对应的任务集

on_start方法: 相当于初始化的操作,每次执行任务时都必须先执行on_start的方法。

on_stop方法:

每个任务执行完成之后,都会调用on_stop内的方法。

@Task用法:有task标记的表示一个任务,当任务的数值越大时,每次被虚拟用户执行的概率越高,数值越大,执行频率越大。不设置默认为1

min_wait: 执行事务之间用户最小等待时间

max_wait: 执行事务之间用户最大等待时间

执行命令:

代码语言:javascript
复制
locust -f 文件名 -- host='url地址'

运行结果:

打开浏览器,输入端口号

Number of total users to simulate:设置模拟用户数

Hatch rate:每秒产生(启动)的虚拟用户数。

点击 “Start swarming” 按钮,开始运行性能测试。

三、UI结果分析

和Jemeter查看聚合报告分析差不多

Type:请求的类型,例如GET/POST

Name: url路径地址 相对url

Request:当前请求的数量

Fails: 失败的请求

Median:中间值

90%ile:90%线程数

Average:平均值

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

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

Average size:平均数据量大小

四、总结

Locust和Jmeter不同的是,Locust可以通过写代码来实现性能测试,并且有对应的UI展示,而且Locust单机承受的并发量比jmeter大,1000+的单机用户并发Jmeter效率太低。此外,Locust需要手动添加代码来跑,对一些不会Jemter的开发同学很友好,测试同学也可以用来多练习代码。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试小助手 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档