【无标题】高流量大并发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网络:应用层协议http
linux·网络·http
KKKlucifer12 分钟前
国家网络安全通报中心:重点防范境外恶意网址和恶意 IP
tcp/ip·安全·web安全
pofenx14 分钟前
使用nps创建隧道,进行内网穿透
linux·网络·内网穿透·nps
Ronin30514 分钟前
【Linux系统】单例式线程池
linux·服务器·单例模式·线程池·线程安全·死锁
wanhengidc26 分钟前
手机云服务是什么意思?
运维·网络·安全·游戏·智能手机
desssq38 分钟前
ubuntu 18.04 泰山派编译报错
linux·运维·ubuntu
Lzc77441 分钟前
Linux的多线程
linux·linux的多线程
清风笑烟语42 分钟前
Ubuntu 24.04 搭建k8s 1.33.4
linux·ubuntu·kubernetes
GilgameshJSS1 小时前
【学习K230-例程19】GT6700-TCP-Client
网络·python·网络协议·学习·tcp/ip
Dovis(誓平步青云)1 小时前
《Linux 基础指令实战:新手入门的命令行操作核心教程(第一篇)》
linux·运维·服务器