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

简单记录于此,备忘。

相关推荐
sunxunyong6 小时前
CGroup配置
linux·运维·服务器
hy____1236 小时前
Linux_网络编程套接字
linux·运维·网络
IP搭子来一个6 小时前
爬虫IP地址受限怎么办?附解决方法
网络·爬虫·tcp/ip
若风的雨6 小时前
【deepseek】 Linux 调度延时分析
linux
小夏卷编程6 小时前
Ubuntu 20.04.4 宝塔 docker showdoc v3.2 更新到v3.7.3
运维·docker·容器
康康的AI博客6 小时前
农业工业变革:如何通过DMXAPI中转提升自动化效率
运维·人工智能·自动化
2301_803554527 小时前
linux 以及 c++编程里对于进程,线程的操作
linux·运维·c++
LuDvei7 小时前
windows 中 vs code远程连接linux
linux·运维·服务器·windows
石小千7 小时前
Ubuntu24.04安装Mysql8
运维·mysql
生活爱好者!7 小时前
NAS帮我找回童年的快乐!部署 小游戏
运维·服务器·docker·容器·娱乐