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

简单记录于此,备忘。

相关推荐
Pocker_Spades_A4 分钟前
自动化工作流引擎部署与实战:让可视化编排真正落地
运维·自动化
计算机安禾8 分钟前
【Linux从入门到精通】第25篇:循环结构——重复造轮子的终结者
linux·运维·chrome
vortex59 分钟前
守护开源世界的猎犬:ClamAV 软件包介绍
linux·网络安全
zzzyyy53810 分钟前
基础IO(1)
linux·运维·数据库
zzzb12345612 分钟前
WSL(Ubuntu)部署Nginx\+PHP8\.2完整教程(新手友好\+避坑指南)
linux·nginx·ubuntu·php
yugi98783813 分钟前
STM32F407 + EC20 串口透传 TCP DTU 实现方案
stm32·嵌入式硬件·tcp/ip
neo330119 分钟前
debian MEDIATEK Corp. Device 7925 无线网卡驱动安装
运维·服务器·debian
想拿大厂offer26 分钟前
【Linux】编辑器、IDE 与操作系统:Linux 开发工具链的哲学与实践
linux·ide·编辑器
其实防守也摸鱼35 分钟前
网络安全与数据库运维核心知识点总结(附习题)
运维·网络·数据库·笔记·安全·web安全
pengyi87101535 分钟前
共享 IP 池冲突根源与基础分配原则
网络·爬虫·网络协议·tcp/ip·智能路由器