zoukankan      html  css  js  c++  java
  • Locust学习笔记9——分布式压测

      引言

      我们知道Jmeter单机并发数并不高,一般配置也就支持1000左右。那么就引出了分布式压测的概念,Jmeter通过调度机(Master)与执行机(Slave)来实现。而Locust也支持分布式压测,类似Jmeter一样,当一台机器无法模拟所需的用户数量时候,可以通过多台Slave机器来实现,Master机器主负责分发任务和下达指令。

      分布式场景

      Locust分布式场景有两种:

      1.单台机器设置Master和Slave

      2.多台机器时,一台调度机(Master),其他机器设置执行机(Slave)

      前提:

      1、主机(master)装好locust环境

      2、从机(slave)装好locust环境

      3、主机/从机上都要有执行的Python文件(你自己写的压测脚本)

      备注:环境安装可以从头看起。

      单机分布式压测

      启动方式:Locust中使用主从模式启动多个进程(使用多核处理器的能力),先启动 master,主处理器负责分发任务,然后再逐一启动若干个 slave(slave 的节点数要小于等于本机的处理器数),从机负责执行任务。

      本篇以WIN10专业版为例,查看CPU是几核心的,可以打开任务管理器如下:

      

      我的电脑CPU是6核的。

      打开cmd,在dos下输入:

    locust -f locust_batch_data.py --master
    

      前面说过,master是不会执行任务的,只是分发任务的,如图:

       现在可以启动Slave机器,我们打开多个dos窗口,输入命令:

    locust -f locust_batch_data.py --slave

      再打开master的dos窗口看看:

       红色框框是计算机名称,如果不确定,可以打开我的电脑→系统查看:

      然后打开浏览器,输入:http://localhost:8089/,我启动了6个slave,正常的话,slave数应该显示6。

      

      多机分布式压测

      前面已经说过,当一台电脑无法满足足够大的并发用户数量时,就需要多台机器来模拟请求。多机案例需要多台机器,以后有时间部署多台机器来演示,这里就讲方法。

      方式:一台作为调度机(Master),其他电脑作为(执行机(Slave),启动时,需要指定主节点的IP/主机名,如:" --slave  --master-host "

    locust -f locust_batch_data.py --master
    

      接着在其它机器上(环境和主节点环境一致,都需要有locust的运行环境和脚本),启动 slave 节点,设置 --master-host

    locust -f locust_batch_data.py --slave --master-host=192.168.*.*

      如图:

      

     使用计算机名称:

    locust -f locust_batch_data.py --slave --master-host=WIN10-804191526

      

      参数介绍:

      1、--master 以主服务模式启动Locust,web界面打开也是以此机IP为地址。

      2、--slave 以从属服务模式启动Locust

      3、master-host=192.168.x.xx 用于从属服务指定主服务的地址

      4、--master-port=8089 用于从属服务指定主服务的端口

      无网页模式启动, -c是设置并发用户数,-r是设置每秒进入用户数,-t设置运行时长

    locust -f locust_batch_data.py --no-web  -c 100 -r 10

      总结

      Locust分布式压测就介绍到这里,另外,对软件测试,自动化测试,测试开发及安全测试感兴趣的小伙伴,可以入群一起学习和讨论。

  • 相关阅读:
    UE4蓝图第一天
    UE4材质常用快捷键
    第六天
    第五天
    第四天
    第三天
    第二天
    HDU 1495 非常可乐 (bfs,数论)
    HDU 变形课 (dfs)
    HDU 胜利大逃亡 (bfs)
  • 原文地址:https://www.cnblogs.com/liudinglong/p/13202088.html
Copyright © 2011-2022 走看看