首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏QA一隅

    Locust接口性能测试

    谈到性能测试工具,我们首先想到的是LoadRunner或JMeter。LoadRunner是非常有名的商业性能测试工具,功能非常强大。 但现在一般不推荐使用该工具来进行性能测试,主要是使用也较为复杂,而且该工具体积比较大,需要付费且价格不便宜。 JMeter同样是非常有名的开源性能测试工具,功能也很完善,我们之前介绍了它作为接口测试工具的使用。 Locust同样是性能测试工具,虽然官方这样来描述它:“An open source load testing tool.”,但它和前面两个工具有一些不同。 单击“Start swarming”按钮,开始运行性能测试 运行之后可以看到主界面如下: ? 性能测试参数如下。 Type:请求的类型,例如GET/POST。 Name:请求的路径。

    1.1K10发布于 2021-08-09
  • 来自专栏QA在路上

    Locust性能测试实战

    一:性能测试理论知识 1.1:性能测试及其目的 性能测试的定义: 通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。 1.2性能测试的种类细分 1.2.1压力测试 通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态来获得系统能提供的最大服务级别的测试。 1.3性能测试的实施流程 在实施性能测试的过程中,整体工作流程是1:分析性能测试需求->2:设计性能测试方案->3:开发性能测试脚本->4:搭建性能测试环境->5:执行测试->6:分析结果后多轮测试进行验证优化 ->7:编写性能测试报告->8:编写性能测试总结报告 二:压测工具选型 我们团队选用Jmeter和Locust两种压测工具。 3.2:测试策略 分别在测试2(架构升级项目的代码)和测试3(master分支代码)环境上做同样业务场景的压测,对比压测结果; 预期目标:架构升级后的各压测业务的性能指标不会差于升级前的性能

    1.1K32编辑于 2023-10-10
  • 来自专栏软测小生

    性能测试工具Locust--(2)编写locustfile

    也可以直接在Locust或TaskSet类上声明自己的wait_time方法。接下来的Locust类将开始休眠1秒钟,然后休眠1秒,2秒,3秒,等等。 启动负载测试时,派生的Locust类的每个实例将开始执行其TaskSet。接下来的情况是每个TaskSet将选择一个任务并调用它。 在以下示例中,task2的执行量是task1的两倍: from locust import Locust, TaskSet, task from locust.wait_time import between 这是一个Locust文件的例子,可以用两个URL负载测试站点 ;/ 和 /about/: from locust import HttpLocust, TaskSet, task, between class 但是,有时(例如,在测试URL端点时,你期望返回404,或者在测试一个设计糟糕的系统时,即使出现错误也可能返回200 OK)——需要手动控制Locust是否应该将请求标记为成功或失败。

    1.8K30发布于 2020-03-04
  • 来自专栏萝卜大杂烩

    Python性能测试Locust简介

    Locust是一个用于可扩展的,分布式的,性能测试的,开源的,用Python编写框架/工具,它非常容易使用,也非常好学。它的主要思想就是模拟一群用户访问你的网站。 01.Locust特点 1. 用简单python语言编写测试脚本,非常简单轻便。不需要笨重的UI和臃肿的xml代码,基于协同而非回调。 2. 分布式的,可扩展性的,可模拟上百万用户。 Locust支持多机器的性能测试,每台机器可以模拟上千用户,当然这是可以控制的。 3. Locust有一个整洁的HTML+JS的用户界面,实时显示相关测试细节。 可以测试任何系统,尽管Locust是基于网站的,但它几乎可以测试任何系统,只需要你写一个客户端。 ? def profile(self): self.client.get("/myprofile") class UserBehavior(TaskSet): tasks = {index:2,

    90610发布于 2019-07-17
  • 来自专栏萝卜大杂烩

    Python性能测试locust(三)

    “ 今天分享一个locust脚本增强方法,多真实用户登陆后做操作” locust作为开源的工具,根据我们自身的需求来增强功能还是必要的。 调用登陆接口获取session列表 session = login_dynamic() 因为当前我们test_account.csv文件里只有3条数据,所以这里随机产生0-2的整数,传入session列表里获取列表值 测试结果 增加打印信息用于查看结果 print(i) print(session[i]) 执行locust测试,结果如下 ?

    1.1K30发布于 2019-07-17
  • 来自专栏萝卜大杂烩

    Python性能测试locust(二)

    Locust是一个用于可扩展的,分布式的,性能测试的,开源的,用Python编写框架/工具,它非常容易使用,也非常好学。它的主要思想就是模拟一群用户访问你的网站。 01.项目结构 既然是自动化的测试项目,那么就要有一个项目的结构,存储代码,存储日志,报告等信息。 我的项目结构如下: ? case:放置测试用例 config:放置全局配置信息 data:放置用例数据 interface:全局封装接口 log:日志信息 report:测试报告 test:编程过程中用于测试的代码 run_locust.bat ,每次测试执行时,都会比其他两个接口多调用。 程序运行 这样简单的测试用例就完成了,可以运行试试喽 locust -f ../locust_files/上面的文件名.py

    1.4K31发布于 2019-07-17
  • 来自专栏软测小生

    性能测试工具Locust--(5)Docker运行Locust

    环境变量 LOCUST_MODE standalone、master 或者 slave。 默认是standalone。 LOCUSTFILE_PATH 容器内部到locustfile的路径。 LOCUST_MASTER_HOST master的主机名。 LOCUST_MASTER_PORT 与master通信的端口。默认为5557 LOCUST_OPTS 传递给Locust的其他选项。 默认为'' 运行测试 运行测试最简单的方法是使用内置的测试文件构建映像。 为了在本地调试,您可以运行一个容器并将locustfile作为volume传递进来: 要在没有Web UI的独立模式下运行,可以使用LOCUST_OPTS环境变量添加所需的选项: 如果您是Kubernetes 用户,则可以使用Helm chart(https://github.com/helm/charts/tree/master/stable/locust)来缩放和运行蝗虫。

    1.3K20发布于 2020-03-04
  • 来自专栏卓越笔记

    locust 性能测试工具使用资料

    认识和安装 locust  https://www.cnblogs.com/imyalost/p/9758189.html https://docs.locust.io/en/stable/installation.html =192.168.89.126 启动从机后主机控制台会有连接上的日志 E:\yinzhuoqun\locust_test>locust -f car_city.py --master [2020-09- 17:49:04,721] DESKTOP-9K42C1Q/INFO/locust.main: Starting Locust 0.14.6 [2020-09-17 17:54:52,244] DESKTOP hatch jobs of 2 locusts and 2.00 hatch rate to 1 ready clients [2020-09-17 18:05:49,141] DESKTOP-9K42C1Q Currently 2 clients ready to swarm.

    52600编辑于 2023-02-18
  • 来自专栏软测小生

    性能测试Locust--(6)非UI模式下运行Locust

    例如,如果要以某种自动化流程(例如CI服务器)运行Locust,通过使用--no-web标记和-c和-r: $ locust -f locust_files/my_locust_file.py --no-web 为测试设置时间限制 如果要指定测试的运行时间,可以使用 --run-time 或者 -t: $ locust -f --no-web -c 1000 -r 100 --run-time 1h30m 一旦时间到 ,Locust将关闭。 $ locust -f --no-web -c 1000 -r 100 --run-time 1h30m --stop-timeout 99 非Web UI的情况下分布式运行Locust 在非UI情况下想分布式运行 然后,将一直等到连接了诸多从节点之后才开始测试

    1.1K30发布于 2020-03-04
  • 来自专栏从零开始学自动化测试

    httprunner学习16-locust性能测试

    前言 HttpRunner 的 yaml 脚本文件,可以结合locust性能测试 locust环境准备 安装完成 HttpRunner 后,系统中会新增locusts命令,但不会同时安装 Locust : "283340479@qq.com", "name": "yoyo", "sex": "M" }, { "age": 21, "create_time": "2019-09-16", "id": 2, 运行脚本 locust界面有2个输入框,Number of users to simulate 是用户并发数,Hatch rate (users spawned/second)是每秒启动用户数 比如我设置 10个并发,每秒启动10个用户,测试结果如下 ? 执行locustfile.py脚本文件 locust -f locustfile.py 测试结果 RPS=9.9 接近10

    2.3K30发布于 2019-10-12
  • 来自专栏学而时习之

    性能测试工具locust源码分析

    locust工具地址:https://github.com/locustio/locust/ locust官方文档:https://locust.io/ 2. 使用 支持单机/分布式执行压测,由于python 受限于GIL,导致locust高并发下一言难尽,想要发挥单机性能可选用单机主从的分布式方式执行压测,若还不能满足压力要求可进一步增加执行机节点,采用一主错从的方式 ,甚至可拓展使用boomer来进一步发挥执行机性能。 基本一样,但是进行了一系列事件监听的注册,用于测试结果的上报,监听在3.3.5事件钩子中会分析; MasterRunner:master节点的Runner核心,本身不会产生任何greenlets,但会与 常规方式 [locust.stats.setup_distributed_stats_event_listeners] 2.

    2.2K50发布于 2021-04-22
  • 来自专栏测试技术圈

    Locust完成gRPC协议的性能测试

    gRPC是一个由 google 推出的、高性能、开源、通用的 rpc 框架。它是基于 HTTP2 协议标准设计开发,默认采用 Protocol Buffers 数据序列化协议,支持多种开发语言。 2、脚本设计 在我们开始性能测试之前,我们必须先有一个测试服务,那么我给你一个最简单的gRPC服务的例子。SUT服务代码下载 ? Process finished with exit code 0 如果上面一切ok那么说明我们已经为利用Locust完成gRPC性能测试准备好了一个测试服务了。 py helloworld_pb2_grpc.py,我们将其复制到我们的测试脚本代码所在目录下,然后创建性能测试脚本如下: #! 输入性能测试场景参数后,点就开始测试就可以进入压力测试阶段了。 ? 测试脚本工程下载地址:脚本工程下载,criss提供

    2.3K40发布于 2021-06-10
  • 来自专栏TestQA

    性能测试工具Locust源码浅析

    近期由于有项目需要做性能评测,于是半道出家的我便从选择性能测试工具,开始了我的性能之旅。 为什么要做工具评测 作为性能测试的老司机们而言,要么对各大性能测试工具的特性都了然于心了,要么已经使用“惯”了手头上的工具;他们是不会没事做个性能评测的,只有新手们才会认认真真的、按部就班的从第一步走起 而对于性能测试而言,首要的任务自然是选择工具了。所以就有了性能测试工具评测这一趴! 5 -t 50s # 执行performan.py进行性能测试,并发数为10,每秒启动5个并发,执行时间为50秒 那么执行了这一条语句后,Locust究竟在后台做了哪些事情呢? VUser的执行流程 上面介绍了Locust从启动后,开始执行性能测试的整体流程。而在这个整体流程内其实还包含另外一个子流程,就是VUser执行任务的流程。

    1.9K20发布于 2019-09-17
  • 来自专栏开源部署

    性能测试框架 locust 入门教程

    1、安装 这个工具是用Python写的,首先我们要安装框架 首先升级pip,不然可能会报错 pip install --upgrade pip 然后安装Locust pip install Locust 安装完成 2、编写Locust file 这里是压测软件的主要功能 vim locustfile.py from locust import HttpLocust, TaskSet #登陆操作 def pma_password":"RedHat"}) #登出操作 def logout(l):     l.client.post("/phpadmin/logout.php", {"db":"&", "token":"be2cb767a5829a398ef5a4c0dcafe504 先把 locustfile.py 分发到slave机器上,安装locust,然后启动 [root@k8s locust]# locust -H http://192.168.1.9 --slave - -12 02:22:02,487] k8s/INFO/locust.runners: Hatching and swarming 20 clients at the rate 2 clients/s..

    1.3K10编辑于 2022-07-19
  • 来自专栏python 自动化测试

    python+locust性能测试学习笔记

    前言 Locust(俗称 蝗虫)一个轻量级的开源压测工具,基本功能是用Python代码描述所有测试。不需要笨拙的UI或庞大的XML,只需简单的代码即可。 Locust Documentationdocs.locust.io 开始第一个实例 from locust import HttpLocust, TaskSet, task class Testlocust 1; on_start():每个locust用户执行测试事务之前执行一次,用于做初始化的工作,如登录; host :要加载主机的URL,通常是在命令行启动locust时使用--host选项指定,若命令行启动时未指定 测试结果: ? ? -r 10 -t 10s") 测试结果: ?

    1.5K41发布于 2020-07-17
  • 来自专栏自学测试之道

    基于web界面的locust性能测试

    target=http%3A%2F%2Fwww.gevent.org%2F)使用轻量级的进程。每一个locust测试你的网站时,实际上是真实的在内部运行它自己的进程(或greenlet,准确的说)。 启动locust 2.打开locust的web界面,浏览器访问:http://127.0.0.1:8089或localhost:8089 ? locust性能参数界面 性能测试参数 Type: 请求的类型,例如GET/POST。 Name:请求的路径。 测试数据 六,命令行执行(取消web显示界面) 命令行执行 locust-f test1.py --host=https://www.baidu.com --no-web -c 10 -r 2 -t 1m Locust也可以做分布式执行,需要装一个pyzmq。 性能测试首先而在于分析性能测试的需求,设计性能测试场景,尽可能的模拟真实环境中的压力(正常和异常情况)。

    2.7K20发布于 2019-09-29
  • 来自专栏吾非同

    快速入门Python性能测试框架Locust

    目前做性能测试,比较简单常用的工具就是jmeter,但是对于一些复杂需求和场景需要编写java代码,如果只会Python能做性能测试吗,当然可以,今天就介绍一下Python强大的性能测试框架Locust Locust简介 一个基于python语言的开源性能测试工具,Locust直译为蝗虫,比喻他能产生蝗虫般成千上万的并发,内部使用requests完成http请求,使用协程完成并发请求,提供WebUI美观方便 //www.baidu.com" # 配置URL wait_time = between(1,2) # 用户执行每个task之后等待1-2秒 # task装饰的方法会在Locust虚拟用户运行过程中被调用 id={item_id}", name="/item") 运行Locust 在命令行运行Locust脚本,在cmd下(win),进入到脚本目录,执行命令: locust -f 文件名.py 设置测试 swarming,开始运行性能测试

    3.3K20编辑于 2021-12-04
  • 来自专栏测试开发技术

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

    前言 在前面的文章中,我们介绍了性能测试框架Locust是什么:性能专题:Locust工具实战之开篇哲学三问,以及如何安装它:性能专题:Locust工具实战之“蝗虫”降世。 接下来在本篇中,我们通过几则示例为大家展示如何利用Locust来创建性能测试。 在Locust 中没有傻瓜式的脚本录制功能,要想用它来做性能测试,必须撸起袖子来写代码。不过,它并不难! 2. Start swarming:开始运行性能测试。 -no-web --csv=locust -c 10 -r 2 -t 1m 启动参数: --no-web 表示不使用Web界面运行测试,使用no-web模式。 未完待续~ 细心的读者也许会发现,仅凭这篇文章的性能示例用法介绍,是很难直接应用到真实的项目性能实施中,本篇主要还是想通过基础示例,让大家对Locust开展性能测试能先有一个直观的认识,真实项目实施过程

    1.5K20发布于 2020-01-17
  • 来自专栏软测小生

    性能测试Locust--(4)逐步负载模式

    Locust--逐步负载模式 如果想在不同的用户负载下监控服务性能,并探测可以实现的最大tps,可以在启用“逐步负载”模式运行Locust--stp-load $ locust -f locust_files /my_locust_file.py --step-load 选项 --step-load 启用“Step Load--逐步负载”模式, 以监视当用户负载增加时性能指标如何变化。 Locust在非Web UI的情况下“逐步负载”模式运行 如果要在没有Web UI的情况下以逐步负载方式运行Locust,则可以使用--step-clients和--step-time来执行此操作: $ locust -f --no-web -c 1000 -r 100 --run-time 1h30m --step-load --step-clients 300 --step-time 20m Locust Locust在逐步负载模式下分布式运行 如果你想要在逐步负载模式下分布式运行Locust,你应该在启动主节点时指定--step-load选项,来分步式聚集locust

    1.1K20发布于 2020-03-04
  • 来自专栏智汇编程工坊

    基于Python的性能测试工具——Locust

    大家好,今天我们要聊聊的是一个开源的性能测试工具——Locust。它允许我们使用 Python 编写性能测试脚本,这使得测试脚本的编写变得非常灵活和强大。 到 2015 年,Locust 已经成为了一款非常成熟的性能测试工具,被许多大公司和组织用于他们的产品和服务的性能测试。 分布式测试Locust 支持分布式测试,可以在多台机器上运行测试脚本,以模拟大量用户并发访问。这对于测试大规模系统的性能非常有用。 Locust 与其他性能测试工具的比较类似于 Locust性能测试工具有 JMeter 和 Gatling。这三个工具都是用于进行性能测试的,但是他们之间存在一些差异。 再次,从性能的角度来看,Locust、JMeter 和 Gatling 都可以进行大规模的性能测试,但是他们的性能表现可能会有所不同。

    1.1K10编辑于 2024-04-14
领券