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

简单记录于此,备忘。

相关推荐
怀旧,3 分钟前
【Linux网络编程】1. 网络基础概念
linux·网络
程序员老邢9 分钟前
【技术底稿 34】文件存储服务域名切换 & S3 兼容性问题全复盘
运维·文件存储·seaweedfs·程序员日常·技术底稿·s3兼容·线上问题复盘
Java成神之路-14 分钟前
ARP、RARP与代理ARP详解
tcp/ip·计算机网络
怀旧,31 分钟前
【Linux网络编程】5. 应用层协议 HTTP
linux·网络·http
码点滴40 分钟前
用自然语言指挥 K8s 集群:AI 运维 Agent 的架构原理与可运行原型
运维·人工智能·kubernetes
2301_816374331 小时前
利用反向代理实现动静分离
运维
SurpriseDPD1 小时前
Linux 内核基础知识:READ_ONCE、内存屏障与指令重排
linux·系统架构
黄金矿工Kingliu1 小时前
Windows运行VMware蓝屏解决方案及网卡配置
运维·服务器
ziqi5221 小时前
Docker容器镜像管理、制作
运维·docker·容器