jmeter里的连接数_jmeter测试接口-打开很多TCP的连接数TIME_WAIT状态(Linux环境)导致报错的解决方法...

一 发现问题:

服务器是Linux系统,用jmeter测试接口,发现打开很多的TCP连接,[[email protected] bin]# ulimit -n 65535用这个命令设置了总的连接数;进行压测的时候,连接数可能达到50000以上,很容易报错;查看各个状态的TCP个数:

netstat -an | awk ‘/^tcp/ {++s[$NF]} END {for(a in s) print a,s[a]}‘,发现连接状态TIME_WAIT的状态很多,(统计80端口连接数netstat -nat|grep -i 80|wc -l用这个统计也行)。而不报错的接口,打开的TCP连接数比较少,约在15000-25000这样。

初步怀疑是tcp的TIME_WAIT状态太多了,导致连接的时间过长,系统的端口资源被长时间的占用,新的请求,又分配不到资源。

二 解决方式:

经过3天多的时间,终于找到了有效的解决方案,可以参考该微博:http://blog.oldboyedu.com/tcp-wait/:

在sysctl.conf配置文件中# vim /etc/sysctl.conf,修改成如下的配置:

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_timestamps = 1

再运行起来,TCP的连接数明显下降了,而且接口的TPC上升了,不容易报错,如下图所示:

时间: 06-20

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值