当前位置: 首页 > news >正文

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

单个接口测试,我们使用谷歌的插件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性能测试保姆级全套教程!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 光降解水凝胶:三色光响应
  • 4.1 版本管理器——2PL与MVCC
  • 【CVPR‘24】DeCoTR:使用 2D 和 3D 注意力增强深度补全
  • 【web开发】Spring Boot 快速搭建Web项目(二)
  • ElasticSearch学习笔记(四)分页、高亮、RestClient查询文档
  • openGuass之CTE Reuse
  • 数据仓库系列17:元数据管理在数据仓库中的作用是什么?
  • 实用好软-----电脑端 开源的视频无损剪切与合并工具
  • Linux——性能调优工具一览
  • 数据资产目录中的主数据划分(汽车制造行业)
  • Go语言设计与实现 学习笔记 第六章 并发编程(2)
  • Ubuntu/Linux 配置 locale
  • 【AI学习笔记】AIGC,AI绘画 ComfyUI+ComfyUI Manager安装
  • [服务器_1]rpc框架收集
  • 入行「游戏策划」,该从何处下手?
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 78. Subsets
  • Angularjs之国际化
  • Cookie 在前端中的实践
  • CSS相对定位
  • Hibernate【inverse和cascade属性】知识要点
  • iOS 颜色设置看我就够了
  • JS笔记四:作用域、变量(函数)提升
  • js如何打印object对象
  • Python学习之路13-记分
  • Vue.js-Day01
  • 初识 webpack
  • 分布式任务队列Celery
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 技术胖1-4季视频复习— (看视频笔记)
  • 近期前端发展计划
  • 精彩代码 vue.js
  • 通信类
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 栈实现走出迷宫(C++)
  • 智能合约Solidity教程-事件和日志(一)
  • 白色的风信子
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 如何用纯 CSS 创作一个货车 loader
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​比特币大跌的 2 个原因
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • ( 10 )MySQL中的外键
  • (1)无线电失控保护(二)
  • (20050108)又读《平凡的世界》
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (poj1.2.1)1970(筛选法模拟)
  • (分布式缓存)Redis分片集群
  • (每日一问)操作系统:常见的 Linux 指令详解
  • (南京观海微电子)——COF介绍
  • (学习日记)2024.02.29:UCOSIII第二节