原来JMeter 分布式执行原理这么简单,为什么没有早点看到呢!

2023-12-11 05:45

本文主要是介绍原来JMeter 分布式执行原理这么简单,为什么没有早点看到呢!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在使用 JMeter 进行性能测试时,如果并发数比较大(比如项目需要支持 10000 并发),单台电脑(CPU 和内存)可能无法支持, 这时可以使用 JMeter 提供的分布式测试的功能,使用多台测试机一起来模拟以达到要求的负载量。

image

  • 分布式测试时通常由 1 台控制机(Controller)和 N 台代理机(Agent)。
  • 控制机(Controller):负责给代理机分发测试任务,接收代理机返回的测试结果数据,做汇总展示。
  • 代理机(Agent):通过命令行模式执行控制机发送过来的脚本(不需要启动 Jmeter 界面),执行完成后将测试结果回传给控制机。

代理机(Agent)配置

步骤如下:

  1. Agent 机上需要安装 JMeter

  2. 修改服务端口

注意:该步骤非必须。如果是在同一台机器上演示需要使用不同的端口,则可以不修改。

打开 bin/jmeter.properties 文件, 修改server_port,比如:server_port=2001

  1. 将 RMI SSL 设置为禁用

打开 bin/jmeter.properties 文件, 修改为:server.rmi.ssl.disable=true

  1. 运行 Agent 上的 jmeter-server.bat 文件, 启动 JMeter

控制机(Controller)配置

  1. 修改 JMeter 的 bin 目录下 jmeter.properties 配置文件中的remote_hosts配置项

    • 示例:remote_hosts=192.168.182.100:1099,192.168.182.101:1099
    • IP 和 Port 指的是 Agent 机的,多台 Agent 之间用逗号隔开
  2. 将 RMI SSL 设置为禁用:打开 bin/jmeter.properties 文件, 修改为:server.rmi.ssl.disable=true

  3. 启动 JMeter

  4. 选择菜单:运行 ——> 远程启动/远程全部启动

image

实现步骤及注意事项

案例

一台控制机和两台执行机,做分布式。要求控制机启动,两台执行机执行,并反馈结果。实现步骤如下:

  1. 配置代理机一,并启动
  2. 配置代理机二,并启动
  3. 配置控制机,并启动
  4. 添加线程组
  5. 添加 HTTP 请求
  6. 添加聚合报告

备注

  • 测试机上所有的防火墙关闭。

  • 所有的控制机、代理机、被测系统都在同一个子网中。

  • 修改完端口要重启 JMeter。

  • 控制机和代理机最好分开,由于控制机需要发送信息给代理机并且会接受代理机回传的测试数据,所以控制机自身会有消耗。

  • 参数文件:如果使用 csv 进行参数化,那么需要把参数文件在每台 slave 上拷一份且路径需要设置成一样的。

  • 每台机器上安装的 JMeter 版本和插件最好都一致,否则容易出现一些意外问题。

这篇关于原来JMeter 分布式执行原理这么简单,为什么没有早点看到呢!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/479628

相关文章

豆包 MarsCode 不允许你还没有女朋友

在这个喧嚣的世界里,爱意需要被温柔地唤醒。为心爱的她制作每日一句小工具,就像是一场永不落幕的浪漫仪式,每天都在她的心田播撒爱的种子,让她的每一天都充满甜蜜与期待。 背景 在这个瞬息万变的时代,我们都在寻找那些能让我们慢下来,感受生活美好的瞬间。为了让这份浪漫持久而深刻,我们决定为女朋友定制一个每日一句小工具。这个工具会在她意想不到的时刻,为她呈现一句充满爱意的话语,让她的每一天都充满惊喜和感动

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

hdu2289(简单二分)

虽说是简单二分,但是我还是wa死了  题意:已知圆台的体积,求高度 首先要知道圆台体积怎么求:设上下底的半径分别为r1,r2,高为h,V = PI*(r1*r1+r1*r2+r2*r2)*h/3 然后以h进行二分 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#includ

【数据结构】——原来排序算法搞懂这些就行,轻松拿捏

前言:快速排序的实现最重要的是找基准值,下面让我们来了解如何实现找基准值 基准值的注释:在快排的过程中,每一次我们要取一个元素作为枢纽值,以这个数字来将序列划分为两部分。 在此我们采用三数取中法,也就是取左端、中间、右端三个数,然后进行排序,将中间数作为枢纽值。 快速排序实现主框架: //快速排序 void QuickSort(int* arr, int left, int rig

hdu4407(容斥原理)

题意:给一串数字1,2,......n,两个操作:1、修改第k个数字,2、查询区间[l,r]中与n互质的数之和。 解题思路:咱一看,像线段树,但是如果用线段树做,那么每个区间一定要记录所有的素因子,这样会超内存。然后我就做不来了。后来看了题解,原来是用容斥原理来做的。还记得这道题目吗?求区间[1,r]中与p互质的数的个数,如果不会的话就先去做那题吧。现在这题是求区间[l,r]中与n互质的数的和

usaco 1.3 Prime Cryptarithm(简单哈希表暴搜剪枝)

思路: 1. 用一个 hash[ ] 数组存放输入的数字,令 hash[ tmp ]=1 。 2. 一个自定义函数 check( ) ,检查各位是否为输入的数字。 3. 暴搜。第一行数从 100到999,第二行数从 10到99。 4. 剪枝。 代码: /*ID: who jayLANG: C++TASK: crypt1*/#include<stdio.h>bool h

uva 10387 Billiard(简单几何)

题意是一个球从矩形的中点出发,告诉你小球与矩形两条边的碰撞次数与小球回到原点的时间,求小球出发时的角度和小球的速度。 简单的几何问题,小球每与竖边碰撞一次,向右扩展一个相同的矩形;每与横边碰撞一次,向上扩展一个相同的矩形。 可以发现,扩展矩形的路径和在当前矩形中的每一段路径相同,当小球回到出发点时,一条直线的路径刚好经过最后一个扩展矩形的中心点。 最后扩展的路径和横边竖边恰好组成一个直

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 10130 简单背包

题意: 背包和 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <queue>#include <map>