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

简单记录于此,备忘。

相关推荐
一介草民丶几秒前
Linux | Mongodb 6 离线安装
linux·运维·mongodb
赖small强2 分钟前
Linux 线程相关结构对照表与关系图
linux·thread_info·task_struct·thread_struct
Justin_194 分钟前
部署zabbix
linux·centos·zabbix
STUPID MAN32 分钟前
Linux使用tomcat发布vue打包的dist或html
linux·vue.js·tomcat·html
mc23561 小时前
Linux实用操作
linux·运维·服务器
半梦半醒*1 小时前
k8s——pod详解2
linux·运维·docker·容器·kubernetes·负载均衡
light_forest1 小时前
tcp_connect_v4接口
java·网络·tcp/ip
vvw&2 小时前
如何使用 Nodemon 自动重启 Node.js 应用
linux·运维·服务器·node.js
GIS数据转换器2 小时前
2025无人机在电力交通中的应用实践
运维·人工智能·物联网·安全·无人机·1024程序员节
Bdygsl2 小时前
Linux(3)—— 权限操作
linux