Jmeter 测试过程中遇到的线程卡顿状况处理

Jmeter 测试过程中遇到的线程卡顿状况处理

电脑配置:
处理器:Intel® Core™ i7-5500U CPU @ 2.40GHz 2.40GHz
RAM:8.00GB

处理过程

在使用apache-jmeter-5.2.1做数据库接口并发测试时,测试4个数据接口,设置200线程200循环,但是遇到了线程卡顿的问题,回忆线程阻塞的原因,大概是线程启用过多,内存资源减少等等。

直接开始百度解决方案,罗列下大致遇到的解决方案以及我这里的处理结果:
1.修改jmeter.bat并重启,将其中的set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m进行更改。这个是最常见的解决方法。原理是线程卡死的原因是堆溢出导致,因此降低最小内存Xms,提升最大内存Xmx,注意Xmx>=Xms,Xms可修改范围256m,512m,1g等,对应的Xmx可修改范围为256m,512m,1g等。

if not defined HEAP (
    rem See the unix startup file for the rationale of the following parameters,
    rem including some tuning recommendations
    set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m
)

我的解决结果:当降低最大内存以及最小内存时,测试速度明显变慢,且仍然卡死;提升最大内存以及最小内存时,测试速度提升速度加快,但是err数目也明显提升,因此此方法对我无效
2. 在HTTP请求默认值中,设置响应超时(Response)以及连接超时(Connect),单位是毫秒。原理是,当http请求的连接时间以及响应时间超过了所设置的响应超时(Response)以及连接超时(Connect)时,将该请求标记为err以处理线程卡死并处理下一条http请求。在这里插入图片描述
我的
解决结果
:设置响应时间以及连接时间仍然要视实际测试结果处理,设置时长过小导致错误请求过高,设置响应时间过高则起不到处理线程卡死的效果。因此此方法对我无效
3. 减少后台应用,节省内存用于jmeter接口压力测试。关闭jemerGUI,仅仅保留cmd命令行以及goland服务端,重复上述步骤。结果依然无效。
4. 关闭goland启用服务端,使用git bash开启服务端;关闭jemerGUI,仅仅保留cmd命令行;重装jmeter,保留原始设置**(不设置最小内存以及最大内存,不设置超时)**;桌面仅保留cmd命令行,其余窗口全部最小化。最终耗时将近5小时完成接口压力测试。在这里插入图片描述
5.总结:能用服务器测试就用服务器测试吧,老电脑测试实在是费时费力。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值