首页 > 其他分享 >JMeter-压测问题分析

JMeter-压测问题分析

时间:2024-04-07 16:47:43浏览次数:15  
标签:分析 Non HTTP 压测 端口 windows JMeter response WAIT

【报错信息】

Non HTTP response code: org.apache.http.conn.ConnectTimeoutException/Non HTTP response message: Connect to IP:端口  failed: Read timed out

Non HTTP response code: java.net.SocketTimeoutException/Non HTTP response message: Read timed out

Non HTTP response code: java.net.SocketException/Non HTTP response message: Connection reset

Non HTTP response code: org.apache.http.NoHttpResponseException/Non HTTP response message:   IP:端口  failed to respond

 

【分析】

1、在http请求-高级-客户端实现,java会复用tcp链接,而httpclient4是重新请求tcp链接,不会进行复用,这个配置默认是空的,Jmetre5.0以上版本会默认使用httpclient4。

2、windows 环境下的端口循环回收需要消耗2~4分钟。由此猜测可能是由于 windows下压测端口数有限,端口资源被占满,没有及时循环回收,导致报错。

 

【处理】

【方式一】在http请求-高级-客户端实现,选择java

 

执行后,接口会报关于Cookie刷新的错,所以不能使用这个方式。(可能是我这里的接口处理逻辑问题)

 

【方式二】

1、  扩大端口数量

设置 windows下最大端口数 65534,尝试将端口资源数设置为最大,windows最大能支持65534个端口。

(1)使用 win + R 快捷键打开 cmd,输入 regedit 命令打开注册表

(2)设置 MaxUserPort 数量:

● 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters目录。

●  右击 Parameters,添加一个新的 DWORD,命名为MaxUserPort。

●  然后双击 MaxUserPort,输入 65534,基数选择 十进制(如果是分布式运行的话,控制机器和负载机器都需要这样操作)。

●  修改配置完毕后, 需要重启 windows 才会生效。

 

2、提高端口使用率 

【分析】

windows下的端口 Time_Wait 导致端口无法使用

windows下的端口 CLOSE_WAIT 导致端口无法使用

 

【处理】

(1)Time_Wait 解决方案

主要思路是通过缩短 TIME_WAIT 的等待时间,提高端口的使用率。

● 使用 win + R 快捷键打开 cmd,输入 regedit 命令打开注册表。

● 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters目录。

● 右击 parameters,添加一个新的DWORD,命名为 TcpTimedWaitDelay,将值设置为30, 缩短 TIME_WAIT 的等待时间。

● 重启windows,配置项生效。

 

(2)CLOSE_WAIT  解决方案

【CLOSE_WAIT 引发问题】

Close_Wait 会占用一个连接,网络可用连接小。当数量过多时,可能会引起网络性能下降,并占用系统非换页内存。尤其是在有连接池的情况下(比如 HttpRequest),会耗尽连接池的网络连接数,导致无法建立网络连接。

 

【CLOSE_WAIT 产生原因】

一般情况下是因为 TCP 连接没有调用关闭方法,需要应用来处理网络链接关闭。

如果是Web请求,经常是因为 Response 的 BodyStream 没有调用 Close。举个例子,Widnows 下使用 HttpWebRequest 一定要保证 GetRequestStream 和 GetResponse 对象关闭,否则容易造成连接处于 CLOSE_WAIT 状态。

TCP的 KeepLive 功能, 操作系统 默认 7200秒 (2小时) 自动清理一次 CLOSE_WAIT 的连接,满足不了高并发下的端口需求数。支持自定义配置。

 

【CLOSE_WAIT 解决方案】

● 使用 win + R 快捷键打开 cmd,输入 regedit 命令打开注册表。

● 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters目录。

● 在该目录下添加新的配置项。设置合理的Keepalive参数。

"KeepAliveTime"=dword:006ddd00

"KeepAliveInterval"=dword:000003e8

"MaxDataRetries"="5"

● 重启windows,配置项生效。

 

我配置后,报错变少了,但并发更大的量,还是会出现报错

 

参考资料:

https://zhuanlan.zhihu.com/p/105697569

https://blog.csdn.net/fengyuyeguirenenen/article/details/123998742

 

 

 

 

 

标签:分析,Non,HTTP,压测,端口,windows,JMeter,response,WAIT
From: https://www.cnblogs.com/luoxue631/p/18119356

相关文章

  • 时间序列分析 #AR模型平稳性的判别
    理解AR模型的定义,能熟练写出AR模型的模型结构和特征方程的表达式;掌握AR模型平稳性判别的三种方法,即图示法、特征根法和平稳域方法。练习1、考察如下四个AR模型的平稳性:利用函数arima.sim或函数filter拟合上述四个序列的序列值,绘制时序图(以2×2的结构排列),并对图形做出解释......
  • Linux系统下的压测工具
    作为一名运维人员,你是否遇到过这种场景?需要用工具测试系统cpu或内存占用高来触发告警,或者通过压测测试服务的并发能力。作为运维工程师,也可以通过这些命令复现故障场景。那么通过本文可以让你掌握常用的测试命令和工具。一、前言部分场景下,定位和复现项目问题需要使用工具进行系......
  • 词法分析基础
    我们是袋鼠云数栈UED团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。本文作者:奇铭什么是词法分析要弄清楚什么是词法分析,需要先搞清楚代码是如何执行的。高级编程语言的代码通常需要通过翻译才能被机器执行,而翻译......
  • jmeter压力测试性能场景
    +压力测试场景  +压力测试:长时间    +29\*20%  =6    +29\*80% =24    +时间      +普通线程组      +阶梯线程组 ......
  • jmeter生成一份html报告
    查看结果树生成文件.jtl后缀 选择创建报告注意配置文件可选择两个里的其中一个 空的文件夹生成一个html文件,点击可以查看报告内容 ......
  • TalkingData——Unity应用开发中集成统计分析工具
    第一步:帐号注册官方网站:TalkingData-移动.数据.价值第二步:创建应用查看appid可以进入网站注册,注册好以后就可以创建应用 创建好应用后,点击 应用管理-》基本信息就可以查看自己的AppID第三步:申请对应平台的sdk 接下来就是申请sdk这里是申请sdk的网站:SDK定制填写......
  • go | 上传文件分析 | http协议分析 | 使用openssl 实现 https 协议 server.key、serve
    是这样的,现在分析抓包数据test.gopackagemainimport( "fmt" "log" "github.com/gin-gonic/gin")funcmain(){ r:=gin.Default() //Uploadsinglefile r.MaxMultipartMemory=8<<20 r.POST("/upload",func(......
  • Spring反序列化JNDI分析
    漏洞原理Spring框架的JtaTransactionManager类中重写了readObject方法,这个方法最终会调用到JNDI中的lookup()方法,关键是里面的参数可控,这就导致了攻击者可以利用JNDI注入中的lookup()参数注入,传入恶意URI地址指向攻击者的RMI注册表服务,以使受害者客户端加载绑定在攻击者RMI注册表......
  • 记一次 .NET某管理局检测系统 内存暴涨分析
    一:背景1.讲故事前些天有位朋友微信找到我,说他们的WPF程序有内存泄漏的情况,让我帮忙看下怎么回事?并且dump也抓到了,网上关于程序内存泄漏,内存暴涨的文章不计其数,看样子这个dump不是很好分析,不管怎么说,上windbg说话。二:WinDbg分析1.内存真的暴涨吗在.NET调试训练营中我一直......
  • (12-3-06)动漫推荐系统:数据分析(6)
    12.4.9 动漫类型(1)下面开始探索动漫数据集中的类型,首先将动漫数据集中的类型字段按逗号拆分,并通过explode函数将其展开为单独的行。接着,对拆分后的类型进行标题化处理。最后,统计并输出唯一类型的总数以及每个类型的出现次数。top_anime_temp3=top_anime[["genre"]]top_an......