专栏首页软件测试小助手如何使用Locust做性能压测

如何使用Locust做性能压测

一直听开发说用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: 执行事务之间用户最大等待时间

执行命令:

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的开发同学很友好,测试同学也可以用来多练习代码。

本文分享自微信公众号 - 软件测试小助手(gh_2282fef3410c),作者:小雯子打豆豆

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 压测工具locust特性以及实现

    目前接触以及听说过的压测工具/框架繁多,如jmeter/k6/locust/loadrunner/qload等,每个压测工具都有自己特性和不足,如何选择适合自己...

    用户7731250
  • 压测工具locust特性及实现

    目前接触以及听说过的压测工具/框架繁多,如jmeter/k6/locust/loadrunner/qload等,每个压测工具都有自己特性和不足,如何选择适合自己...

    kaynli
  • 性能测试工具locust源码分析

    目前接触以及听说过的压测工具/框架繁多,如jmeter/k6/locust/loadrunner/qload等,每个压测工具都有自己特性和不足,如何选择适合自己...

    历久尝新
  • python3安装locust说明

    前段时间有位朋友看完我之前的文章Locust + python + influxdb + grafana 展示性能压测QPS图表之后,咨询我如何安装Locust...

    Devops海洋的渔夫
  • Locust + Boomer 基于 K8S 分布式压测使用说明

    Locust 是近几年新兴的开源测试压力项目,主要是基于 Python 的多进程和协程的方式来实现并发压力。

    charrli
  • Locust性能评测及优化详解

    在《性能测试工具Locust源码浅析》中,我们进行了一个主流程的分析。本次我们将对Locust进行实际的评测,在具体的评测之前,为了评测结果尽量的准确,我们需要...

    上帝De助手
  • Locust + python + influxdb + grafana 展示性能压测QPS图表

    在使用locust压测的时候,如果使用web则可以查看到QPS压测过程的曲线图。而如果使用no web模式启动,则只有一些打印的日志可以查看。

    Devops海洋的渔夫
  • 性能测试工具jmeter和locust比较

    Apache JMeter和Locust都是是最受欢迎的性能测试工具。当你想做性能测试的时候,你会选择什么样的测试工具呢?是会选择jmeter?locust?今...

    wencheng
  • 基于web界面的locust性能测试

    做为一个压测工具(库),[locust](http://locust.io/) 其实解决这么一个问题:AB 之类压测工具不能编写复杂的因果逻辑,而现实场...

    用户6367961
  • 蝗虫过境,你的系统能扛住吗?

    将Locust与常用的LoadRunner和Jmeter进行对比,详细参数如下:

    用户5521279
  • Python技术栈性能测试工具Locust入门

    Locust是一款Python技术栈的开源的性能测试工具。Locust直译为蝗虫,寓意着它能产生蝗虫般成千上万的并发用户:

    dongfanger
  • 性能专题:Locust工具实战之开篇哲学三问

    在上一篇性能专题的文章:性能专题:性能测试实施全过程指南,已提前剧透告知了,从本篇开始,将结合服务端性能测试的两款常用工具进行实战操作介绍:Jmeter和Loc...

    测试开发技术
  • 软件性能:Locust工具实战之开篇哲学三问

    在上一篇性能专题的文章:性能专题:性能测试实施全过程指南,已提前剧透告知了,从本篇开始,将结合服务端性能测试的两款常用工具进行实战操作介绍:Jmeter和Loc...

    测试开发技术
  • 软件性能测试方案-性能测试工具选型

    在往期文章《软件性能测试方案-性能测试准备》介绍了前期性能测试准备的要点,本文主要介绍性能测试工具的选型。

    用户5521279
  • 如何使用TKE快速搭建分布式压测集群Locust

    在实际生产环境中,无论是新业务上线,还是新功能的发布,我们都需要做整体的性能压测,以便我们能够清楚的知道系统的性能上限,而然搭建压测环境往往比较耗时,本文主要介...

    Vicwan
  • 性能专题:Locust工具实战之创建性能测试

    在前面的文章中,我们介绍了性能测试框架Locust是什么:性能专题:Locust工具实战之开篇哲学三问,以及如何安装它:性能专题:Locust工具实战之“蝗虫”...

    测试开发技术
  • api性能测试

    Locust(俗称 蝗虫)一个轻量级的开源压测工具,基本功能是用Python代码描述所有测试。不需要笨拙的UI或庞大的XML,只需简单的代码即可。

    赵云龙龙
  • Locust性能测试6-命令行参数详解

    当我们在linux上使用locust工具压测的时候,会使用no-web模式,然后需要收集运行的日志,方便查找问题。

    上海-悠悠
  • Locust压测框架入门

    Locust是一个容易使用、分布式的压力测试工具。它是用于网站压力测试(或其它系统)并找出多少用户一个系统可以承载。

    我被狗咬了

扫码关注云+社区

领取腾讯云代金券