locust学习总结5 - 分布式执行



前言

一句话总结:在自己电脑上分布式执行、在同事电脑上分布式执行、在docker中分布式执行


1、基础

  • 当运行 Locust 分布式时,master 和 worker 机器都必须有 locustfile 的副本
  • 运行 Locust 的单个进程可以模拟相当高的吞吐量。对于一个简单的测试计划,它应该能够每秒发出数百个请求,如果使用FastHttpUser则可以发出数千个请求。要运行更多负载,则需要扩展到多个进程(你自己电脑上开多核),如果还不满足,需要去同事电脑上开多核处理。所以,用该–master标志以主模式启动 Locust 的一个实例。并使用该标志启动多个工作器实例–worker。如果 worker 与 master 不在同一台机器上,您可以–master-host将它们指向运行 master 的机器的 IP,如果在同一台机器则不需要。
  • 主机运行 Locust 的 Web 界面,并告诉worker机何时产生/停止用户。worker机运行用户并将统计信息发送主机。主机本身不运行任何用户。每个工作人员可以运行的用户数量几乎没有限制。Locust/gevent 每个进程可以运行数千甚至数万个用户,只是它们的总请求率/RPS 不是太高,所以,为了每秒的请求数更高,应该开启多核。如果 Locust 即将耗尽 CPU 资源,它将记录警告。
  • Python 不能充分利用每个进程的多个内核,通常应该在工作机器上为每个处理器内核运行一个工作实例,以利用它们的所有计算能力。如果你的电脑是12核,并发时候创建12个窗口,充分利用电脑的处理能力。

2、操作步骤

2.1、启动主节点

  locust -f per_01_test.py --master ,预期:
在这里插入图片描述

2.2、启动从节点

2.2.1、启动自己电脑的从节点

  1、明确自己电脑是几核处理器,我是12核
在这里插入图片描述
  2、进入脚本所在目录空白处执行: shift + 右键 > 在此处打开 PowerShell 窗口,我打开了12个窗口,充分利用了电脑每秒处理事务的能力。
在这里插入图片描述
  3、在每个窗口执行:locust -f .\per_01_test.py --worker,两个预期:
在这里插入图片描述
在这里插入图片描述

2.2.2、启动同事电脑的从节点

  1. 同事电脑拉取代码,配置执行环境
  2. 进入脚本所在目录空白处执行: shift + 右键 > 在此处打开 PowerShell 窗口,打开12个窗口,
  3. 在打开的窗口依次执行:locust -f .\per_01_test.py --worker --master-host=192.168.0.14

2.3、开始并发

  主节点界面打开网址,输入需要的并发数,只要从节点不主动断开,我们就可以一直多核处理并发数目。
在这里插入图片描述

3、无web界面,定时运行,数据存储在csv中、等待4个节点连接后自动开始

执行:locust -f per_01_test.py --headless -u 10 -r 1 -t 1m -s 120 --csv=example --master --expect-workers=4

  • –master :将此机器设置为主节点
  • –expect-workers=4 启动主节点时使用 --headless。在开始测试之前,主节点将等待4个工作节点连接后才开始执行脚本,如图:
    在这里插入图片描述

4、有web界面,定时运行,数据存储在csv及html中、等待4个节点连接后自动开始

locust -f per_01_test.py --autostart -u 1 -r 1 -t 1m -s 120 --csv=example --autoquit 10 --html locust_report.html --master --expect-workers=4
在这里插入图片描述
在这里插入图片描述

---------------------------------以下:理发店模型的一点总结------------------------------------------------------------------------
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿_焦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值