首页 > 其他分享 >Locust 多种运行方式

Locust 多种运行方式

时间:2024-03-16 21:33:07浏览次数:11  
标签:多种 web -- locust Locust master 运行

运行 `Locust`时,通常会使用到两种运行模式:**单进程运行**和 **多进程分布式运行** 。

**单进程运行模式**


`Locust`所有的虚拟并发用户均运行在单个 `Python`进程中,具体从使用形式上,又分为 `no_web`**和** `web`**两种形式。该种模式由于**单进程的原因,并不能完全发挥压力机所有处理器的能力,因此主要用于调试脚本和小并发压测的情况。
**当并发压力要求较高时,就需要用到 `Locust`的多进程分布式运行模式** 。从字面意思上看,大家可能第一反应就是多台压力机同时运行,每台压力机分担负载一部分的压力生成。的确,`Locust`支持任意多台压力机(一主多从)的分布式运行模式,但这里说到的多进程分布式运行模式还有另外一种情况,就是在同一台压力机上开启多个 `slave`的情况。这是因为当前阶段大多数计算机的CPU都是多处理器(`multiple processor cores`),单进程运行模式下只能用到一个处理器的能力,而通过在一台压力机上运行多个 `slave`,就能调用多个处理器的能力了。比较好的做法是,如果一台压力机有 `N`个处理器内核,那么就在这台压力机上启动一个 `master`,`N`个 `slave`。当然,我们也可以启动 `N`的倍数个 `slave`,但是根据我的试验数据,效果跟 `N`个差不多,因此只需要启动 `N`个 `slave`即可。` `

**no_web形式启动locust:**


如果采用 `no_web`形式,则需使用 `--no-web`参数,并会用到如下几个参数。
* `-c, --clients`:指定并发用户数;  (新版本的话是 -u) * `-r, --hatch-rate`:指定并发加压速率,默认值位1。
示例:
$ locust -f    locustfile.py     --host = xxxxx.com  --no-web -c 1 **-r 1**
在此基础上,当我们想要调试 `Locust`脚本时,就可以在脚本中需要调试的地方通过 `print`打印日志,然后将并发数和总执行次数都指定为1
**如果 是新的版本的话,它的命令有所改变,变为以下:  将命令参数--no-web 更改为 --headless,将命令中指定用户并发数的参数 -c 改为 -u, 即更改命令为:**
$ locust -f    locustfile.py     --host = xxxxx.com  --headless -u 1 -r 1 -t 10
执行测
通过这种方式,我们就能很方便地对 `Locust`脚本进行调试了。
`Locust`脚本调试通过后,就算是完成了所有准备工作,可以开始进行压力测试了。
**web形式启动Locust:**

如果采用 `web`形式,,则通常情况下无需指定其它额外参数,`Locust`默认采用 `8089`端口启动 `web`;如果要使用其它端口,就可以使用如下参数进行指定。


* `-P, --port`:指定web端口,默认为 `8089`. * 终端中--->进入到代码目录: locust     -f    locustfile.py     --host = xxxxx.com * -f            指定性能测试脚本文件 * -host      被测试应用的URL地址【如果不填写,读取继承(HttpLocust)类中定义的host】 * 如果 `Locust`运行在本机,在浏览器中访问 `http://localhost:8089`即可进入 `Locust`的Web管理页面;如果 `Locust`运行在其它机器上,那么在浏览器中访问 `http://locust_machine_ip:8089`即可。

**多进程分布式运行**


不管是 `单机多进程`,还是 `多机负载`模式,运行方式都是一样的,都是先运行一个 `master`,再启动多个 `slave`。
启动 `master`时,需要使用 `--master`参数;同样的,如果要使用 `8089`以外的端口,还需要使用 `-P, --port`参数。
分布式启动的话分为两种:

1:同一台机器上启动


启动主进程  locust -f xxx.py --master         (新旧版本都是 --master)
启动助功进程   locust -f xxx.py --worker   (旧的版本是 --slave)

2:不同机器启动


启动主进程  locust -f xxx.py --master         (新旧版本都是 --master)
启动助功进程   locust -f xxx.py --worker  --master-host=主控机器ip --master-port=5557 (旧的版本是 --slave)
**运行脚本文件看的命令行效果(以web ui方式进行运行的)**
![image.png](https://fynotefile.oss-cn-zhangjiakou.aliyuncs.com/fynote/fyfile/15480/1679988457057/02e40b308a5a4e408aae568c1df27b7a.png)
然后的话你可以在我们的浏览器中输入我们的  localhost:8089     效果图如下:
![image.png](https://fynotefile.oss-cn-zhangjiakou.aliyuncs.com/fynote/fyfile/15480/1679988457057/bb4dfcda10154725abe40df9a448eaf4.png)
运行结果如下:
![image.png](https://fynotefile.oss-cn-zhangjiakou.aliyuncs.com/fynote/fyfile/15480/1679988457057/3d9ed42bf3aa4bfa93a87cd00f97b548.png)

其他的资源监控界面:


charts(图表):记录吞吐量QPS、响应时间、并发数,按照时间的统计情况
Failures(失败):性能测试脚本在执行失败后的记录(断言失败)
Exceptions(异常):脚本出现异常
Download Data(下载数据):提供下载前面各个部分的性能指标数据

标签:多种,web,--,locust,Locust,master,运行
From: https://www.cnblogs.com/yongheng999/p/18077664

相关文章

  • conda 安装R以及在 Jupyter Notebook中运行 R 代码
    1.打开命令行工具,输入以下命令,创建一个新的conda环境并激活:condacreate-nmyenvr-base==4.2.2condaactivatemyenv如碰到PackagesNotFoundError问题解决,使用以下命令,将conda-forge通道添加到通道列表中:condaconfig--appendchannelsconda-forge2.在conda环境中安......
  • Hadoop集群之运行环境搭建
    克隆虚拟机的准备工作1,修改主机名为hadoop101[root@hadoop100~]#hostnamectlset-hostnamehadoop101[root@hadoop100~]#bash[root@hadoop101~]# 2,使用root用户在/opt目录下创建 software(软件)和module(组件)文件[root@hadoop101~]#suroot[root@hadoop101~......
  • QSVRMGMT.DLL文件丢失导致程序无法运行问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个QSVRMGMT.DLL文件(挑选合适的版本文件)把它......
  • provsvc.dll文件丢失导致程序无法运行问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个provsvc.dll文件(挑选合适的版本文件)把它放......
  • 在 Ubuntu 和 Linux Mint 上更改运行级别的简单方法
    在Ubuntu和LinuxMint等基于Linux的操作系统中,运行级别(runlevel)是指系统的工作状态或运行模式。每个运行级别都对应着一组特定的服务和进程,用于满足用户或系统的不同需求。通过更改运行级别,用户可以控制系统启动时所加载的服务和进程,从而实现定制化的系统配置。运行......
  • win10 运行搜索的历史记录 记不下来
    win10系统,运行窗口中总是不记录使用过的命令,每次都要重新输入一遍很麻烦,我们一起看看,怎么解决这个问题。工具/原料win10方法/步骤 在电脑左下角winows图标,在弹出的快捷菜单中选择“设置” 弹出的windows设置窗口,选择“隐私” ......
  • 运行存储分配
    目录在编译原理中,运行时存储分配是一个重要概念,涉及到程序在运行时如何分配和管理内存。程序在执行期间需要存储各种数据,包括变量、常量、程序代码等,而这些数据需要被妥善地安排在内存中以便程序能够正确、高效地访问它们。运行时存储分配策略主要分为静态存储分配和动态存储......
  • 如果本电脑中无pip指令,则可以按下面方法即可安装pip及运行它
    第一步:点击下面网址:https://pypi.org/project/pip/#files该网址下载tar文件,并解压到一个磁盘里Win+R键打开cmd,cd到解压磁盘的目录,运行命令:python setup.py install第二步:我Python安装的目录是:C:\Users\天天开心那是必须滴\AppData\Local\Programs\Python\Python39\S......
  • 【Android】使用Android Studio运行Hello World项目
    文章目录1.JDK的安装与配置2.AndroidStudio的安装3.运行HelloWorld项目3.1新建项目3.2修改项目配置3.2.1修改UI界面3.2.2配置AndroidSDK3.3添加并运行虚拟设备3.4运行项目 1.JDK的安装与配置想要使用AndroidStudio,必须先配置Java环境,需要......
  • 1702967-37-0 PSMA617是一种具有多种功能的化合物
    描述:PSMA617也被称为vipivotidetetraxetan,是一种具有多种功能的化合物。它主要用于制造177Lu-PSMA-617,这是一种抗癌症的放射性分子。PSMA617具有一种小肽,设计用于靶向前列腺特异性膜抗原(PSMA)。PSMA617是一种功能强大的化合物,在治研究领域具有广泛的应用前景。英文名称:PSMA6......