【无标题】高流量大并发Linux TCP性能调优

最近在使用jmeter做压测,当jmeter的并发量高的时候发现jmeter服务器一直报错Cannot assign requested address,

查看了一下发现系统中存在大量处于TIME_WAIT状态的tcp端口

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

TIME_WAIT 50013

ESTABLISHED 27

SYN_RECV 1

在网上查阅了一些tcp参数的相关资料,最后通过修改了几个系统内核的tcp参数缓解了该问题:
vi /etc/sysctl.conf
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
sysctl -p

其中:

net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;

net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。

修改完成并生效后,系统中处于TIME_WAIT状态的tcp端口数量迅速下降到100左右:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

TIME_WAIT 82

ESTABLISHED 36

简单记录于此,备忘。

相关推荐
蓝天居士2 分钟前
Linux串口接收0x0D莫名转换为0x0A问题的根本原因分析
linux
njmanong13 分钟前
Google点名处置IPIDEA及子品牌:代理IP行业进入强治理期
网络·网络协议·tcp/ip
UP_Continue24 分钟前
Linux--动静态库
linux·运维·服务器
CheungChunChiu30 分钟前
Linux 音频系统全景解析:PipeWire、PulseAudio 与 ALSA 的层次关系
linux·运维·服务器·audio
小张成长计划..1 小时前
【linux】5:编译器-gcc/g++的使用
linux
你真是饿了1 小时前
7.进程间通信
linux·运维·服务器
TEC_INO1 小时前
Linux_12:通过多线程获取VENC的H264码流数据
linux·运维·服务器
跨境小技1 小时前
如何从eBay抓取商品价格数据?2026 eBay数据采集实用方案
大数据·运维
郝学胜-神的一滴2 小时前
TCP通讯的艺术:从握手到挥手的优雅对话
开发语言·网络·网络协议·tcp/ip·程序人生
无证驾驶梁嗖嗖2 小时前
git_lab_事故恢复全过程(ubuntu_22
linux·git·ubuntu