jmeter错误之java.net.SocketException:Connection reset

使用Jmeter进行压测是经常遇到java.net.SocketException: Connection reset这个错误,网上搜了好多方法也不管用机缘巧合下搜到一个方法,亲测可用先整理如下(仅适用于liunx环境)。
首先,我们要知道这个Connection reset是个什么东西。reset简称为RST复位,它发生在三次握手的最后一次握手(ACK)。
如下图:在这里插入图片描述
服务器收到 ACK 后表示连接建立成功。此时内核会把连接从 SYN 半连接队列中移出,再移入 accept 队列,等待进程调用 accept 函数时把连接取出来。如果进程不能及时地调用 accept 函数,会造 accept 队列溢出 ,导致建立好的 TCP 连接被丢弃。此时我们可以选择向客户端 RST 复位报文 ,告诉客户端连接已经建立失败。
linux在/etc/sysctl.conf中可以设置是否发送RST复位报文

net.ipv4.tcp_abort_on_overflow=0

在这里插入图片描述

tcp_abort_on_overflow设置为0可以提高连接建立的成功率。当accept队列频繁溢出的时候,才可以设置为1

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值