jmeter性能测试如何实现分布式部署

news2024/11/28 21:42:04

jmeter什么要做分布式部署?

jmeter是运行在JVM虚拟机上的,当模拟大量并发时,对运行机器的性能/网络负载会很大。

此时就需要使用jmeter的分布式部署功能,实现多台被控机器同时并发访问被测系统。

原理图:

准备工作:

1.在所有机器上,安装相同版本的jmeter和JDK。

2.所有机器连接同一个网络。

3.把所有机器的防火墙关闭,否则很可能会连接失败。

4.修改每台机器的jmeter内存配置:

 安装jmeter后,如果执行的线程数过高时,会报错内存溢出,所以需要先把默认内存配置调高;

在windows系统下,编辑jmeter.bat文件,根据实际配置修改:

步骤1:

修改master控制端:

1.修改master控制端的jmeter的bin目录下的jmeter.properties文件。

如图,在remote_hosts处添加负载机的IP+端口。

在server_port处添加本机服务器IP端口(如果控制端不作为负载机,可不添加)。

2.找到server.rmi.ssl.disable,把注释去掉,把false改为true。

步骤2:

修改slave负载机端:

1.与控制端一样,修改remote_hosts与server_port的IP端口。

该IP+端口就是之前添加在控制端remote_hosts里面的值。

2.同样找到server.rmi.ssl.disable,把注释去掉,把false改为true。

 

步骤3:

负载机启动server

所有slave负载机,在jmeter的bin目录下,打开jmeter-server.bat文件; 

步骤4:

启动控制端master,执行性能测试。

这里为了演示,直接启动控制端的GUI(实际测试时需要使用命令行执行,下一步会讲到)。

在Run的Remote Start中,可以看到之前在控制端配置的IP,代表可选择的负载机。

执行Remote Start All,则会执行之前在控制端jmeter.properties文件中配置的所有虚拟机

执行成功后,负载机的命令行会显示执行成功信息。

执行成功后,在控制端GUI的聚合报告可查看到执行结果。

 

步骤5:

使用命令行执行压力测试;

这很多人使用jmeter进行并发测试时,容易忽略了的一点:

在双击jmeter.bat文件启动GUI时,命令行已经提示,GUI仅适用于调试,不可用于负载测试。

如提示语,打开CMD命令行,输入如下:

jmeter -n -t [脚本路径] -l [结果文件路径] -e -n [web报告路径]

例如,笔者输入:

 jmeter -n -t C:\Users\user\Desktop\jmeterPerf.jmx -R 192.168.1.128:2088,192.168.1.114:2099 -lC:\Users\user\Desktop\jmeter\

result.txt -e -o C:\Users\user\Desktop\jmeter\webreport

使用命令行执行完并发性能测试后,即可在填写的路径下打开报告查看

可能存在的报错:

1. Connection refused:connect 可能是防火墙未关闭,把控制机和负载机的防火墙都关闭即可。

2. Connection timed out 连接超时,可能机器未在同一个局域网,或者填写的IP端口错误。

检查是否IP+端口是否正确,检查负载机的server_port是否设置,是否存在冲突被占用。

 

3.Engine is busy 可能是异常退出等,导致被控负载机一直执行之前的测试,未释放进程。

可以尝试关闭负载机的java.exe进程,如果还不行,建议直接重启机器。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

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

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

相关文章

小型取暖器上亚马逊美国站UL1278标准如何办理?

小型取暖器上亚马逊美国站UL1278标准如何办理? 小型取暖器上亚马逊美国站UL1278标准如何办理? 冬季马上就要来临,随着气温一天一天的下降,取暖器就是这个冬季必不可少的好物了,试想一下冬天一家人围着取暖器&#xf…

《TCP/IP详解 卷一:协议》第5章的IPv4数据报的Checksum(校验和)字段的计算(这里才能解开你的困惑)

首先,我当你看过书,但是比较懵。 1,实例说明Checksum(校验和)的计算步骤 直奔主题,分析一下这个Checksum(校验和)怎么算出来的。 先用Wireshark随便抓一个UDP或TCP包分析一下。 如上面,我们得…

SIP 系统容器化实践

由于SIP系统相对成熟,目前互联网上的SIP系统方案大多数都是基于虚拟机来实现的。 本文是基于容器化实现SIP系统的方案以及遇到的问题总结。 本文会展示两个系统的SIP实现,分别是智能语音机器人和CTI系统,不会涉及太多的业务,只是对…

前端实验(一)单页面应用的创建

实验目的 掌握使用vite创建vue3单页面程序命令熟悉所创建程序的组织结构熟悉单页面程序运行原理能够编写简单的单页面程序 实验内容 创建一个名为vue-demo的单页面程序编写简单的单页面程序页面运行单页面程序 实验步骤 使用vite创建单页面程序 创建项目名为目录vue-demo的…

【缓存】Spring全家桶中@CacheEvict无效情况共有以下几种

Spring全家桶中CacheEvict无效情况共有以下几种 一、背景介绍二、原因分析三、解决方案 一、背景介绍 SpringBoot中使用Cacheable注解缓存数据,使用CacheEvict注解删除缓存。但是在项目使用过程中,发现使用CacheEvict注解删除缓存无效。 拓展&#xff…

GORM:在Go中轻松管理数据库

GORM综合介绍 - Go对象关系映射库 在现代软件开发中,高效的数据库管理对于构建强大的应用程序至关重要。GORM是Go开发人员寻求与数据库进行交互的简化方式的宝贵工具。GORM是Go对象关系映射的缩写,它为Go的面向对象世界与数据库的关系世界之间提供了桥梁…

【Flink】全网最详细4W字Flink全面解析与实践(上)

本文已收录至GitHub,推荐阅读 👉 Java随想录 微信公众号:Java随想录 原创不易,注重版权。转载请注明原作者和原文链接 文章目录 流处理 & 批处理无界流Unbounded Streams有界流Bounded Streams Flink的特点和优势Flink VS Spa…

兴业银行养老金拉新项目上线啦,地推百搭项目

兴业银行养老金就在 ”聚量推客“ 申请开通 今年最火的银行拉新项目就是养老金的 单价高 数据好 目前开通养老金的银行有 兴业银行养老金拉新 交通银行养老金拉新 工商银行养老金拉新 招商银行养老金拉新 浦发银行养老金拉新 广发银行养老金拉新等。。还有很多都开通了…

Nignx及负载均衡动静分离

目录 一.Nignx简介 二.nginx搭载负载均衡 负载均衡 1.1启动nginx ​编辑 ​编辑 1.2开始 1.3导入前端数据 ​编辑 三.前端项目Linux部署(动静分离) 一.Nignx简介 Nginx是一个高性能的开源HTTP和反向代理服务器,也可以用作电子邮件(SMTP/IMAP&am…

前端(二十七)——封装指南:Axios接口、常用功能、Vue和React中的封装技术

😊博主:小猫娃来啦 😊文章核心:前端封装指南:Axios接口、常用功能、Vue和React中的封装技术 本文目录 小引前端封装以真实项目举个例子 Axios接口封装常用功能封装封装 Vue中的封装技术React中的封装技术Vue和React封装…

基于Java+SpringBoot+Vue+Uniapp小程序前后端分离租房管理系统设计与实现(支持支付宝支付、有需求解析文档50页、演示视频)

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

人工智能基础知识

目录 什么是人工智能? 教学环境搭建 向量和矩阵 如果你是关注计算机领域最新趋势的学生或从业者,你应该听说过人工智能、数据科学、机器学习、深度学习等术语。作为人工智能系列文章的第一篇,本文将解释这些术语,并搭建一个帮助…

Doris Manager集群的工具,运维更顺畅

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…

Spring Boot 使用断言抛出自定义异常,优化异常处理机制

文章目录 什么是断言?什么是异常?基于断言实现的异常处理机制创建自定义异常类创建全局异常处理器创建自定义断言类创建响应码类创建工具类测试效果 什么是断言? 实际上,断言(Assertion)是在Java 1.4 版本…

大模型初体验-阿里云百炼初级入门demo

背景 近期阿里云大模型百炼平台(https://bailian.console.aliyun.com/#/home)有限免活动,可以免费领取额度,有兴趣的朋友们可以试一下。限时免费活动_大模型服务平台-阿里云帮助中心 什么是阿里云百炼 阿里云百炼(h…

SpringBoot_第七章(读写分离)

这里列举了三种读写分离实现方案,分别是如下三种 1&#xff1a;MybatisPlus&#xff08;读写分离&#xff09; 1.1&#xff1a;首先创建三个数据库1主2从 表名是user表 1.2&#xff1a;代码实例 1&#xff1a;导入pom <!--MybatisPlus的jar 3.0基于jdk8--><depend…

stm32 串口

目录 简介 串口通讯协议的物理层 电平标准 协议层 USART框图 总结 hal库代码 标准库代码 简介 USART&#xff08;Universal Synchronous/Asynchronous Receiver/Transmitter&#xff09;通用同步/异步收发器。USART是STM32内部集成的硬件外设&#xff0c;STM32F103系列…

在职一年多,一个29岁软件测试工程师的心声

简单的先说一下&#xff0c;坐标西安&#xff0c;16届本科毕业&#xff0c;目前在跳槽&#xff0c;算上国庆节前的面试&#xff0c;一共有面试了5家公司&#xff08;因为不想请假&#xff0c;因此只是每个晚上去其他公司面试&#xff0c;所以面试的公司比较少&#xff09;其中成…

如何打造一支敏捷测试团队

文章目录 摘要01 从测试角度理解敏捷理念什么是敏捷&#xff1f;测试人员应该怎样理解敏捷理念&#xff1f;敏捷宣言对于测试活动的启发与思考总结如下。敏捷原则12条敏捷实践框架为什么要做敏捷 02 什么是敏捷测试03 敏捷测试为什么会失败04 诊断脑暴会的成果示例敏捷测试原则…

微信小程序自定义弹窗阻止滑动冒泡catchtouchmove之后弹窗内部内容无法滑动

自定义弹窗 如图所示&#xff1a; 自定义弹窗内部有带滚动条的盒子区域 问题&#xff1a; 在盒子上滑动&#xff0c;页面如果超出一屏的话&#xff0c;也会跟着一起上下滚动 解决方案&#xff1a;给自定义弹窗 添加 catchtouchmove 事件&#xff0c;阻止冒泡即可 网上不少…