【无标题】高流量大并发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

简单记录于此,备忘。

相关推荐
17(无规则自律)6 分钟前
【Linux驱动实战】:字符设备之ioctl与mutex全解析
linux·c语言·驱动开发·嵌入式硬件
CDN36023 分钟前
360CDN SDK 游戏盾:轻量化接入 + 强防护实测
运维·游戏·网络安全
Stewie1213826 分钟前
Docker 面试题
运维·docker·容器
星纬智联技术1 小时前
GEO E2E 自动化验证测试文章
运维·自动化·geo
天赐学c语言1 小时前
Linux - 应用层自定义协议与序列/反序列化
linux·服务器·网络·c++
jarreyer1 小时前
CentOS 7 无法使用 yum 安装软件
linux·运维·centos
脆皮的饭桶2 小时前
结合使用,实现IPVS的高可用性、利用VRRP Script 实现全能高可用
运维·服务器·网络
薛定谔的悦3 小时前
告别传统BMS!深度解读阳光电源 BM^2T 电池管理技术白皮书
linux·能源·储能·bms·ems
源远流长jerry3 小时前
DPDK MP (Multi-Process) 通道深度解析
linux·网络·架构·ip
RisunJan3 小时前
Linux命令-md5sum(计算和校验文件报文摘要的工具程序)
linux·运维