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

简单记录于此,备忘。

相关推荐
玩大数据的龙威1 分钟前
【乱占耕地建房】—试点工作平台自动化填报系统
运维·自动化
梁洪飞11 分钟前
noc 片上网络
linux·arm开发·嵌入式硬件·arm
newsxun38 分钟前
从一条国道,到一个时代符号——申晨案例解析:如何打造公路文旅现象级IP「此生必驾318」
网络·网络协议·tcp/ip
JoyCong19981 小时前
高效远程协作指南:基于ToDesk的六大应用场景详解
运维·服务器·远程工作·远程操作
三不原则2 小时前
实战:混沌工程入门,模拟服务器宕机的故障演练
运维·kubernetes·chaos mesh
cws2004012 小时前
MFA双因素用户使用手册
运维·windows·网络安全·github·邮件·邮箱
颜子鱼2 小时前
Linux驱动-INPUT子系统
linux·c语言·驱动开发
Lueeee.2 小时前
llseek 定位设备驱动实验
linux·驱动开发
Jason_zhao_MR2 小时前
YOLO5目标检测方案-基于米尔RK3576开发板
linux·人工智能·嵌入式硬件·目标检测·计算机视觉·目标跟踪·嵌入式
小小程序媛(*^▽^*)2 小时前
Claude Code 新手保姆级安装与使用指南 (ZCF 版)
linux·编辑器·vim