Jmeter(十四)Jmeter分布式部署测试

news2024/9/24 23:22:14

单个接口测试,我们使用谷歌的插件postman

多个接口测试,我们使用Jmeter进行测试

一、使用工具测试

1、使用Jmeter对接口测试

首先我们说一下为什么用Posman测试后我们还要用Jmeter做接口测试,在用posman测试时候会发现的是一个接口一个接口的测试,我们每次测试成功后的数据,在工具中是无法保存的,再次测试的时候我们还要重新输入测试的数据,当我们测试一个接口的时候可能感觉不明显,但是当你测试几十个接口的时候,你就会发现使用Jmeter的好处。

二、使用Jmeter接口测试

1、首先邮件添加一个线程组,然后我们重命名接口测试

2、在线程组上添加一个Http默认请求,并配置服务器的IP地址端口等信息

3、在线程组中添加一个HTTP请求,这里我们重命名“增加信用卡账户信息接口”

4、配置接口请求信息,这配置示例如下,HTTP请求名称可以按需求命名:

注:由于Jmeter请求线程组内的请求时从第一个开始执行,所以我们将需要最先执行的请求放在前面

5、在线程组上添加监听器,察看结果树和聚合报告

  1. 添加Sumarry Report

8.点击启动,运行结束后查看,结果树和聚合报告

三、nmon使用,监控服务器(参考nmon使用文档)

四、Jmeter分布式部署测试

使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对于CPU和内存的消耗比较大,所以,当需要模拟数以万计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误。为了让jmeter工具提供更大的负载能力,这时可以使用Jmeter提供的分布式功能来启动多台电脑来分压测试。

一、Jmeter分布式执行原理:

  1、Jmeter分布式测试时,选择其中一台作为控制机(Controller),其它机器做为代理机(Agent)。

  2、执行时,Controller会把脚本发送到每台Agent上,Agent 拿到脚本后开始执行,Agent执行时不需要启动Jmeter,只需要把jmeter-server.bat文件打开,它应该是通过命令行模式来执行的。

  3、执行后,Agent会把结果回传给Controller,Controller会收集所有Agent的信息并汇总。

二、代理机(Agent)配置:

1、Agent机上需要安装JDK、Jmeter,并且配置好环境变量。

2、打开“运行”,输入"cmd",打开运行面板,输入“ipconfig”,找到IP地址,例如是:192.168.8.149

3、打开Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把这一行修改为”remote_hosts=192.168.8.149:1099,1099是端口号,可以随意自定义。

4、打开jmeter-server.bat文件,就设置完成了,等待控制机(Controller)启动。

三、控制机(Controller)配置:

1、Controller机上需要安装JDK、Jmeter,并且配置好环境变量。

2、打开“运行”,输入"cmd",打开运行面板,输入“ipconfig”,找到IP地址,例如是:192.168.8.174

3、打开Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把这一行修改为”remote_hosts=192.168.8.149:1099,192.168.8.174:1099,1099是端口号,可以随意自定义。如果有多台代理机,这里需要把所有的代理机的IP地址和端口号都加入进来。

4、打开jmeter-server.bat文件,设置完成了。

 

四、开始添加线程组和请求来运行查看结果:

1、打开jmeter.bat文件,添加线程组,编辑线程数,这里设置100个线程数,循环2次,就是一台机器发送100*2=200个请求。

2、添加察看结果数和聚合报告,点击运行,可以选择远程启动或者远程全部启动,如果是点击远程启动,可以选择任意一台电脑来运行,如果是点击远程全部启动就会运行控制机和所有的代理机。

3、这里以点击远程启动为例。运行结束后,查看聚合报告,每台电脑设置的线程数为20,这里一共是两台电脑,所以是200*1=20个线程数。

jmeter 分布式压力机(多网卡)----处理Connection refused

1,问题现象:

性能测试时,使用的服务器配置了双网卡,windows客户机配置了四网卡,坑爹的配置,内外网的隔离,导致在使用jmeter进行分布式测试的时候总是连接失败。

2,原因分析:

Jmeter采用了rmi进行远程调用,在开启RMI服务时,如果服务端有多个网卡,它只是使用其中任意一个网卡,默认情况下,导致jmeter的controller机器和agent机器不在同一个网段内,无法互通,导致失败

3,解决方法:

我们要在多网卡的服务器上开启RMI服务的话必须指定IP,使他们能够在同一个网段内。

需要以下几步(假定所有机器都在10.120.11.*网段,agent服务器为linux,controller服务器为windows):

a、 修改agent服务器,指定agent机器的IP

修改jmeter-server文件

# vi jmeter-server

修改RMI_HOST_DEF=-Djava.rmi.server.hostname=10.120.11.82

b、 修改server服务器,指定server机器的IP

修改jmeter.bat文件

新增set rmi_host=-Djava.rmi.server.hostname=10.120.11.214

修改set ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %PERM% %DDRAW% %rmi_host%

修改完成后,重新启动即可

注意:需要关闭代理机和控制机的防火墙

   这是我整理的《2024最新jmeter接口测试和jmeter接口自动化测试全套教程附带性能测试》,以及配套的接口文档/项目实战【网盘资源】,需要的朋友可以下方视频的置顶评论获取。肯定会给你带来帮助和方向。

b站最新最全的jmeter接口测试和jmeter接口自动化测试,jmeter性能测试保姆级全套教程!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2084167.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

存储实验:基于华为存储实现存储双活(HyperMetro特性)

目录 什么是存储双活仲裁机制 实验需求实验拓扑实验环境实验步骤1. 双活存储存储初始化(OceanStor v3 模拟器)1.1开机,设置密码1.2登录DM,修改设备名、系统时间和导入License1.3 设置接口IP 2. 仲裁服务器配置(Centos7…

C++ 两线交点程序(Program for Point of Intersection of Two Lines)

示例图 给定对应于线 AB 的点 A 和 B 以及对应于线 PQ 的点 P 和 Q,找到这些线的交点。这些点在 2D 平面中给出,并带有其 X 和 Y 坐标。示例: 输入:A (1, 1), B (4, 4) C (1, 8), D (2, 4) 输出:给定直…

关于vue2运行时filemanager-webpack-plugin报错isFile is undefind

当我们在运行时报此错误时,在vue.config.js里找一下filemanager-webpack-plugin的配置路径。 new FileManagerPlugin({onEnd: {delete: [./dist.zip],archive: [{ source: ./dist, destination: ./dist.zip }]}}) 在对应的路径下建一个dist文件夹

scrapy--子类CrawlSpider中间件

免责声明:本文仅做分享参考~ 目录 CrawlSpider 介绍 xj.py 中间件 部分middlewares.py wyxw.py 完整的middlewares.py CrawlSpider 介绍 CrawlSpider类:定义了一些规则来做数据爬取,从爬取的网页中获取链接并进行继续爬取. 创建方式&#xff…

七年老玩家《王者荣耀》分析一:【市场与用户以及社交功能】

目录 市场与用户 王者荣耀在不同国家和地区的市场渗透率 王者荣耀的主要收入来源以及增长趋势 王者荣耀的用户活跃度和玩家留存率在最近几年的变化情况 王者荣耀面临的主要竞争对手以及如何在竞争中保持领先地位 《英雄联盟手游》(LOL) 《虚荣》&a…

手动安装Git,手动在右击菜单注册git运行程序

当我们有git的zip压缩包后,只将压缩包解压也是可以用的,但是每次使用时还得去git的安装包下启动git项目,这样就很麻烦。一般情况下都是右击就有git运行程序的选项,直接点击就好,这时用.exe文件安装就没问题&#xff0c…

智能报警物联网系统:使用MQTT和与Grafana集成的InfluxDB监控工地电梯流量和气象数据

这篇论文的标题是《Smart Alarm IoT System: Monitoring Elevator Traffic and Meteorological Data on Job Sites Using MQTT and InfluxDB integrated with Grafana》,作者们来自约旦大学的计算机工程系和机电工程系。以下是对论文主要内容的详细整理:…

LabVIEW波形图的多点触控实现方法

在LabVIEW中,如何实现波形图的多点触控功能,例如通过触控操作对波形进行放大和缩小? 解答: 在LabVIEW中,尽管原生支持的多点触控功能较为有限,但仍有多种方法可以实现波形图的触控操作、放大和缩小功能&am…

详解Asp.Net Core管道模型中的五种过滤器的适用场景与用法

1. 前言 在 ASP.NET Core 中,过滤器是一种用于对请求管道进行前置或后置处理的组件。它们可以在请求处理的不同阶段干预和修改请求和响应,以实现一些通用的处理逻辑或功能增强。 ASP.NET Core 的管道模型由多个中间件组成,而过滤器是这个模…

质量技术AI提效专题分享-得物技术沙龙

活动介绍 本次“质量技术&AI提效专题分享”沙龙聚焦于质量技术和AI效率领域,将为您带来四个令人期待的演讲话题: 1、《智能化提效实践》 2、《仿真自动化在饿了么金融实践分享》 3、《得物精准测试提效应用》 4、《广告算法灰度拦截实践》 相信这些…

入门Java编程的知识点—>IO流(day13)

重点掌握IO流作用是什么?重点掌握字节流的作用是什么?如何使用?重点掌握缓冲流的作用是什么?如何使用? IO简介 I (in):输入指得就是从外界进入到程序的方向,通常我们是需要读取外界的数据,所以输入流就是用来读取数据的。 …

超越 CAPE 旧模式,P-CAPE 开创股市回报预测新局面

作者:老余捞鱼 原创不易,转载请标明出处及原作者。 写在前面的话: 本文主要介绍的是周期性调整市盈率(CAPE)及其倒数 CAEY 常用于评估股市长期回报,但原始 CAPE 有局限,未充分考虑未分配收益。未分配收益可再投资或回购股票影响收益。应调整周期性调整后的收益为…

【基础】Three.js中添加操作面板,GUI可视化调试(附案例代码)

1.先引入GUI库: import { GUI } from "three/addons/libs/lil-gui.module.min.js";2.实例化gui对象,并添加需要显示的参数: // 实例化一个gui对象const gui new GUI();//设置操作面板位置gui.domElement.style.right "0px";gui.d…

阿里云私有镜像仓库配置及使用

1 登录阿里云 阿里云访问地址:https://www.aliyun.com/ 右上角选择“控制台” 2 创建个人实例 搜索框搜索“容器镜像服务” 新建“个人实例” 选择“创建个人版” 同意协议,点击确定 3 个人实例配置 设置Registry登录密码 密码要求&#xff1…

【卷起来】VUE3.0教程-01-环境搭建与安装

​分享不易,耗时耗力,麻烦给个不要钱的关注和赞吧 🌲 什么是VUE Vue 是一个框架,也是一个生态。其功能覆盖了大部分前端开发常见的需求。但 Web 世界是十分多样化的,不同的开发者在 Web 上构建的东西可能在形式和规模…

扑捉一只耿鬼(HTML文件)

图例&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><title>耿鬼</title><style>body {background: #fff;font-family: Comfortaa, sans-serif;}* {box-sizing:…

【动图效果概览】自动化建链后,Exata调用STK更新卫星位置

如下图所示&#xff0c;动画遵循 时间前进方向&#xff0c;划分截取为5段 &#xff08;因为每张照片限制大小5MB&#xff0c;不够应该够看清个大概意思了&#xff09;&#xff1a;

BIO、NIO编程与直接内存、零拷贝详解

目录 一、网络通信编程基本常识 什么是 Socket&#xff1f; 短连接 长连接 什么时候用长连接&#xff0c;短连接&#xff1f; 网络编程里通用常识 二、Java 原生网络编程-BIO 原生 JDK 网络编程 BIO 原生 JDK 网络编程 NIO 什么是 NIO&#xff1f; 和BIO 的主要区别 NI…

C语言中的运算符

一,算数运算符 基本算术运算符&#xff1a; 加法&#xff08;&#xff09;&#xff1a;用于两个数相加。例如 int a 3 5;&#xff0c;结果 a 的值为 8。 减法&#xff08;-&#xff09;&#xff1a;两个数相减。如 int b 7 - 4;&#xff0c;b 的值为 3。 乘法&#xff08;*…

使用推测解码提高 LLM 推理速度

使用尖端优化技术加速推理的实用指南 欢迎来到雲闪世界。大型语言模型非常耗电&#xff0c;需要大量 GPU 资源才能发挥良好性能。然而&#xff0c;Transformer 架构并没有充分利用 GPU。 从设计上讲&#xff0c;GPU 可以并行处理&#xff0c;但 Transformer 架构是自回归的。为…