吐血整理,性能测试-Jmeter分布式压测实战(超细详解)

2023-11-09


前言

Jmeter的集群模式可以让我们将多台机器联合起来一起产生负载,从而弥补单台机器负载生成能力不足的问题。

假设我们的测试计划会产生100个threads,我们使用6台机器进行分布式测试的时候,一共会产生100 * 6 = 600的负载。

日常情况,大部分的性能需求,单台压测机就可以抗住的。4C8G的window server机器,使用UI方式,最高压测过2000并发(RT 20ms以内),单机没什么问题(当然如果IO很高的话,注意压测机网卡可能会先出现瓶颈。)

超过2000并发,可使用分布式。

注意事项

1、关闭防火墙,开放端口
2、所有机器最好都在同一个子网上。
选择和被测目标服务同网段的机器作为压测机,很多人都是直接在办公环境的自己机器上压测,这种压测很不稳定,时好时坏,如果你们没有做流量隔离,说不定你会把你们的办公环境压垮!

3、一定要用内网IP,不要用公网IP,用ping去检查。
4、确保所有系统上使用相同版本的jdk和jmeter,包括大版本和小版本。
可使用下面的命令,远程拷贝,确保所有机器的软件包相同

远程拷贝命令(内网地址):

scp -r /usr/local/software/jdk-8u141-linux-x64.tar.gz root@172.18.230.233:/usr/local/software
scp -r /usr/local/software/jmeter/apache-jmeter-4.0.tgz root@172.18.230.233:/usr/local/software/jmeter

5、禁用SSL

vim jmeter.properties
server.rmi.ssl.disable=true

专业名称

11

12

master:司令
slave:奴隶
target:目标

Jmeter分布式压测原理:
1、总控机器的节点master,其他产生压力的机器叫“肉鸡” server
2、master会把压测脚本发送到 server上面
3、执行的时候,server上只需要把jmeter-server打开就可以了,不用启动jmeter
4、结束后,server会把压测数据回传给master,然后master汇总输出报告

压测步骤

1、在master和slaves机器上分别按照相同版本的jdk和jmeter;
2、在master机器上:
修改配置文件,进入jmeter/bin目录下
vim jmeter.properties

remote_hosts=192.168.0.102:8899,192.168.0.101:8899(slaves机器的ip和端口)
server.rmi.ssl.disable=true(禁用ssl)

如果master即作为master也作为slaves

remote_hosts=192.168.0.102:8899,192.168.0.101:8899,master的ip:8899

server_port=8899

server.rmi.ssl.disable=true(禁用ssl)

启动jmeter服务:

./jmeter-server(linux)

jmeter-server.bat(windows)

检查是否启动成功:

ps -ef|grep jmeter-server

3、在slaves机器上
修改配置文件,进入jmeter/bin目录下

vim jmeter.properties

remote_hosts=127.0.0.1

server_port=8899

server.rmi.ssl.disable=true(禁用ssl)

启动jmeter服务

./jmeter-server(linux)

jmeter-server.bat(windows)

检查是否启动成功

ps -ef|grep jmeter-server

4、分布式执行
GUI模式 :运行----->远程启动、远程启动全部

non-GUO模式:命令行增加-r参数

jmeter -n -t /Users/jack/Desktop/remote.jmx -r -l /Users/jack/Desktop/jtl/result.jtl -e -o /Users/jack/Desktop/result
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

信念燃烧胸膛,梦想驱使奋斗,努力前行不止步,勇敢面对挑战,坚韧抵抗逆境,脚踏实地铸造辉煌,因为只有付出与坚持,才能书写出人生最美丽的篇章。

每一份努力都值得被尊重,每一份坚持都值得被肯定,无论生活赋予了多少荆棘,总有一天,会因为自己坚持奔跑的力量,收获出绚烂而美好的人生彩虹。

在追逐梦想的路上,别忘记坚持和勇气,别忘记努力和奋斗,无论遇到多少挫折和困难,都要坚信自己的价值,用汗水和努力书写属于自己的辉煌篇章。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

吐血整理,性能测试-Jmeter分布式压测实战(超细详解) 的相关文章

  • 仅在 n 个断言错误后停止 JMeter 测试执行

    Problem 我正在 JMeter 2 13 中模拟压力测试 我的想法是在达到一定的响应时间上限后停止测试 我使用 Duration Assertion 节点进行测试 但是 我不想在第一次此类失败后停止测试执行 在其他稳定的情况下 它可能
  • Web自动化测试 —— capability参数配置

    一 capability概述 capability是webdriver支持的标准命令之外的扩展命令 配置信息 配置web驱动属性 如浏览器名称 浏览器平台 结合selenium gird完成分布式 兼容性测试 官网地址 https www
  • Airtest自动化测试工具

    一开始知道Airtest大概是在年初的时候 当时 看了一下官方的文档 大概是类似Sikuli的一个工具 主要用来做游戏自动化的 通过截图的方式用来解决游戏自动化测试的难题 最近 移动端测试的同事尝试用它的poco库来做自动化 看样子还不错
  • 用Python实现高效数据记录!Web自动化技术助你告别重复劳动!

    自动化关键数据记录 简介 关键数据记录是 Web 自动化测试中的关键部分 它们提供了关于系统行为和执行过程的详细信息 有助于验证用例的正确性 排查问题和确保应用程序的质量 行为日志 行为日志是一种用于记录系统或应用程序的操作和事件的技术 它
  • JMeter 3.2 中不存在 SOAP/XML-RPC Sampler

    我有点惊讶我的 JMeter 3 1 脚本在 3 2 中不起作用 JMeter 3 2 中删除 SOAP XML RPC Sampler 的原因是什么 是否存在一些性能问题等 这是 JMeter 的一部分change http jmeter
  • JMeter 基本身份验证

    我试图暗示使用 JMeter 的 Web 服务的基本身份验证过程 但每次它都会抛出错误 401 Unauthorized 我尝试使用 HTTP 标头管理器向其添加标头授权和值 但它仍然不起作用 我还尝试过使用 HTTP 授权管理器 还是没有
  • 循环访问多个正则表达式提取器输出

    您能告诉我如何循环遍历返回多个值的正则表达式后处理器的结果吗 Example JSON 响应消息 reply code 111 status SUCCESS customerID 222 a b 333 44 4 s 555 666 777
  • Java 12 JMeter 5 HTTP/2 请求 java.lang.NoClassDefFoundError: org/eclipse/jetty/alpn/client/ALPNClientConnectionFactory

    我在 Ubuntu 9 0 4 上使用 Java 12 JMeter 5 1 1 并在尝试发送 HTTP 2 请求时遇到以下异常 Response code Non HTTP response code java util concurre
  • jmeter无法记录浏览器操作

    我正在使用 apache jmeter 2 6 我想使用 HTTP 代理服务器记录浏览器操作 但动作并没有记录 我已经在线程组下定义了 HTTP 请求默认值 我为服务器名称指定了值 如下所示 http www xxxxx com 81 ht
  • JMeter - 根据平均响应时间测试失败

    我正在使用性能插件在 Jenkins 中运行 JMeter 作业 如果平均响应时间 这是我尝试添加 BeanSehll Listener 和 Assertion 的方法 Recording Controller Home Page Bean
  • Jmeter JSR223 Sampler - 无法将数据写入 CSV 文件

    我正在使用 Jmeter v4 0 r1823414 根据这个答案 https stackoverflow com questions 50820389 unable to set incremental variable in jmete
  • 增加 JMeter 执行期间的线程数

    我有一个性能测试JMeter并想用它来测试最大系统性能 吞吐量 因此 当错误率低于 2 时 应增加活动线程数 我发现Constant Throughput Timer 把它放入Thread Group但它只会暂停或减慢线程 我尝试将其定义如
  • Apache JMeter 的 Cookie 管理器未将 cookie 添加到 POST 请求

    我制定了非常简单的测试计划 登录 POST 返回会话cookie 获取状态 GET 返回用户状态 创建资源 POST 为资源提供 JSON 正文 所以我的 测试计划 如下所示 Test Plan Thread Group HTTP 请求默认
  • Azure 应用程序网关在进行 JMeter 负载测试时随机遇到 504 网关超时

    我有 1 个应用程序网关 它有 2 个后端 Azure VM 它通过 IIS 托管 ASP CORE REST API 两者都使用端口 80 进行通信 手动测试一切正常 直到我们使用 jmeter 进行 2500 线程 POST 请求负载测
  • 将 JMeter 报告转换为 JUnit 报告

    如何将 JMeter 报告转换为 JUnit 报告 有些工具 例如 VSTS 知道如何集成 JUnit 报告 但不知道如何集成 JMeter 报告 尽管它们可以运行 JMeter 我创建了一个 XSLT 将 XML JMeter 报告转换为
  • 在jmeter中设置整个请求url

    我有一个请求 它提供上传网址作为响应正文 uploadUrl https test com 9000 sample uploadurl I m able to extract the uploadUrl using JSON extract
  • 如何在 JMeter 中使用命令行参数

    我正在使用 Jmeter 测试 API 我想从终端参数化项目的路径 然后我想在 JMeter 中使用此参数 我通过命令行发送的参数 jmeter n t your script jmx Jurl abcdef com 我在用户定义变量中使用
  • Rest 服务器(Play Framework)在负载测试期间出现“Read Timed out”异常

    我们正在使用 Play Framework 在 REST 服务器上运行重负载测试 jmeter 350 个线程 35M 总请求 并在大约 2 小时后遇到以下错误 我们删除了其他组件 以便 request 只是接受请求而不执行任何操作 任何人
  • 使用jmeter测试多个网站

    如何使用jmeter测试100个不同的网站 来自DMOZ 我认为可以通过将jmeter与脚本集成来完成 基本上 该脚本是告诉 jmeter 从文本或 csv 文件中读取 URL 并将 http 请求采样器更改为文件中的 URL 以运行测试
  • 如何让Jmeter识别“localhost”URL?

    如何对只能由我的计算机访问的 localhost url 进行性能测试 我可以使用 jmeter 对 google 等实时网站进行性能测试 但 jmeter 无法检测本地 url 应用程序的 URL 192 168 121 20 80012

随机推荐

  • python matplotlib数据可视化案例-生成柱状图,饼图(扇形图),词云。

    目前python spark scala十分火爆 于是我就利用爬虫将猎聘上的招聘信息进行了一下获取 相比起来 猎聘上的职位数量还是很多的 3中技术类型以 python spark scala 作为关键词 一共爬取了一万多条信息 爬取的主要信
  • 【告别普通打包】webpack打包结果优化特性:Tree Sharking 和 sideEffects

    文章目录 1 Tree Shaking 摇树 1 1 摇树讲解 1 2 开启 Tree Shaking 1 3 合并模块 扩展 1 4 探讨 babel loader 的问题 2 sideEffects 2 1 sideEffects讲解
  • kotlin语法总结(二)

    上一章地址 kotlin语法总结 一 文章目录 前言 前言 这章接着上一章语法总结继续讲解 主要讲kotlin和java不一样的地方 40 嵌套类 41 数据类 data class 提供toString equals hashCode个性
  • qemu创建linux虚拟机(亲测有效,virt-manger方式)

    1 网桥的搭建 Bridge方式原理 Bridge方式即虚拟网桥的网络连接方式 是客户机和子网里面的机器能够互相通信 可以使虚拟机成为网络中具有独立IP的主机 桥接网络 也叫物理设备共享 被用作把一个物理设备复制到一台虚拟机 网桥多用作高级
  • linux下一个简单的TCP通信程序——客户端向服务端发送任意字符串

    程序目的 服务器端等待客户端连接 若连接成功 则用户可以通过服务器在接受到字符串后进行判断 若不是quit字符串则输出客服端的地址信息 以及接受到的数据 同时将接受到的数据按照原样再发给客服端 若是quit字符串则断开本次连接 问题以及解决
  • 代码点和代码单元

    codePoint和codeUnit 背景 在设计Java时决定采用16位的Unicode字符集 然而16位的Char类型已经不能满足描述所有Unicode字符的需要了 为了解决这个问题 故使用代码点和代码单元 区别 代码点 Code Po
  • C++数据结构X篇_06_C++单向循环链表实现

    本篇参考C 单向循环链表实现整理 先搞懂结构框架 后期根据视频利用c对内容实现 也可以对c有更高的提升 文章目录 1 链表定义 2 链表插入 3 链表打印 注意打印过程是跳过头节点head的 4 实验 单向循环链表与单向链表十分相似 具有关
  • Java 子类继承父类方法的重写(或者覆盖,override)

    1 子类重写父类方法的方法名 参数类型必须与父类被重写 被覆盖 的方法相同 2 子类方法的返回值类型必须小于等于父类被重写的方法的返回值类型 3 子类抛出的异常小于等于父类方法抛出的异常 4 子类的访问权限大于等于父类的访问权限 子类重写了
  • 文心千帆大模型测评分享,效果超出预期

    一 前言 现如今 随着ChatGPT的爆火越来越多的人开始关注人工智能领域了 大家都在尝试使用它来帮助自己在工作上提高效率亦或是解决一些问题 但ChatGPT是有一定的使用门槛的 首先需要我们 科学上网 才能访问 其次GPT4的价格相对来说
  • 2.关于剪枝算法的分类和论文整理

    第二篇 关于剪枝算法的分类 1 非结构化剪枝 1 1 非结构化的weights剪枝 2 结构化剪枝 2 1 Filter Channel Pruning 2 2 Neuron wise pruning 2 3 Group wise Prun
  • Ag-grid属性整理

    import ClickableStatusBarComponent from component clickableStatusBarComponent import HaearCustomComponent from component
  • 数字图像处理之二维码图像提取算法(十)

    这里来说明一下做这次的二维码提取算法用到的函数 最后再给出完整的代码 进行图像的二值化 这里可以使用opencv2里的函数threshold 当然在opencv里也有cvThreshold函数 这个函数可以具体参考 http blog cs
  • 电影院里一个男孩对他女友所做的全过程

    电影院里一个男孩对他女友所做的全过程 周末上电影院看电影 热得不行 提前入场好凉快凉快 坐定 见一对青年男女挽手走了进来 男孩大概二十三四岁模样 肩上挎着他女友的背包 手里拿着一包零食还有可乐 男孩轻声征询女孩究竟坐哪儿合适 女孩没说话 努
  • Hibernate 一对多 多对一 实例 及一些 问题(1)插入及查询

    Clazz java package com wonders task sample bo import java util Set import javax persistence CascadeType import javax per
  • [安全开发]日志敏感信息检测-1-身份证

    前言 身份证号码格式 正则提取 地址码校验 校验码校验 优化思考 前言 防止敏感信息泄漏 保护用户和企业信息隐私 是企业安全中重要的环节 通过检测日志中的敏感信息 能够 排查潜在的泄漏敏感信息的系统和接口 防止被黑产恶意利用 盗取用户敏感信
  • vuex动态路由

    import router asyncRoutes constantRoutes from router import getRouters from api menu import Layout from layout index imp
  • 联想票务系统服务器,联想中国(Lenovo China)_服务频道_服务政策

    Lenovo ThinkServer Partner Pack for Microsoft System Center 重要通知 ThinkServer RD350 RD450 RD550 RD650 TD350 中Lenovo Think
  • APP开发如何批量生成不同尺寸的图标?

    在我们开发APP的时候 我们使用到大量的不同尺寸的APPLogo的图片 如下图 通常 我们的做法是和设计师沟通 让他们切出这儿所以的图片 然后我们一个一个图片放在对应的位置 这样处理的话 我们比较容易出错 比如说 图片的格式 苹果对图片的格
  • 4-数据结构-顺序表的查找

    说明 顺序表的查找 分为按照位置查找 返回对应值和按照值查找 返回该值位置 思路 getlist sqlist l int k 为按位查找 返回具体数值 locatelist sqlist l int k 按照值 去查找位置 因为顺序表都是
  • 吐血整理,性能测试-Jmeter分布式压测实战(超细详解)

    目录 导读 前言 一 Python编程入门到精通 二 接口自动化项目实战 三 Web自动化项目实战 四 App自动化项目实战 五 一线大厂简历 六 测试开发DevOps体系 七 常用自动化测试工具 八 JMeter性能测试 九 总结 尾部小