jmeter 分布式实战入门记录

本文详细介绍了如何在JMeter中进行分布式部署,包括设置remote_hosts、启用SSL、解决内存溢出、空响应体问题、超时及并发限制,以及针对常见错误的解决方法。重点讨论了线程管理和监听器配置。

一、jmeter分布式部署

控制机和执行机的版本要相同。

官方说jdk版本也需要相同,但是目前jdk版本不同也未发现异常

master:

1.jmeter.properties文件修改如下:

remote_hosts=

注释:加上控制机的ip地址

 

server.rmi.ssl.disable=true

注释:1.本次使用禁用的方式从默认的 false 改成true 。

2.使用基本ssl的rmi部署目前未实际验证。

 

2.启动jmeter_server.bat

3.启动 jmeter.bat 监测执行机返回的结果

agent:

1.meter.properties文件修改如下:

server.rmi.ssl.disable=true

 

修改端口

server_port=1099

server.rmi.localport=1099

 

2.启动jmeter_server.bat

 

二、测试过程的问题

1.jmeter 报内存溢出

jmeter.bat中修改内存,可按照执行机的配置做调整,本次执行机 16g内存,做了如下修改

set HEAP=-Xms8g -Xmx8g -XX:MaxMetaspaceSize=4098m

 

2.控制机收到的结果 response body 中是空的

修改 jmeter.properties

mode=Standard

注释:默认前面有注释,去掉即可

 

3.开始只用了聚合报告,对于响应出错的数据无法详细分析

 

加上 监听器中的 用表格查看结果 ,每一条请求有详细记录,不过加的监听越多对资源的消耗也是越大的。

 

4173874EE5CC4628BDDAF056E7BC2696-clipboard.png

 

4.超时问题

1.线程和集合点数量加之前需要先看下测试系统已经已经有的限制,本次发现resis只最大支持 1000 所以后面 10万线程每组 1500 本身就是超出服务配置所能承载的范围的

 

5.JMeter Address already in use 错误解决

 

报错原因:

1、windows系统为了保护本机,限制了其他机器到本机的连接数.

2、TCP/IP 可释放已关闭连接并重用其资源前,必须经过的时间。关闭和释放之间的此时间间隔通称 TIME_WAIT 状态或两倍最大段生命周期(2MSL)状态。此时间期间,重新打开到客户机和服务器的连接的成本少于建立新连接。减少此条目的值允许 TCP/IP 更快地释放已关闭的连接,为新连接提供更多资源。如果运行的应用程序需要快速释放和创建新连接,而且由于 TIME_WAIT 中存在很多连接,导致低吞吐量,则调整此参数。

修改操作系统注册表

1、打开注册表:regedit

2、找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters

3、新建 DWORD值,name:TcpTimedWaitDe,value:30(十进制) ——> 设置为30秒(默认240)

4、新建 DWORD值,name:MaxUserPort,value:65534(十进制) ——> 设置最大连接数65534

注意:修改时先选择十进制,再填写数字。

5、重启系统

 

三、补充

误解了控制机分配的线程数,把控制机的线程数当成是分配的,其实是每个执行机执行的同样的线程数

1A7F14A63A1E494F829879A3FDDD44BF-clipboard.png

 

 

四、附录

这篇文章中提及的错误,本次测试都遇到过。

https://www.cnblogs.com/jane4321/p/11013042.html

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值