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

简单记录于此,备忘。

相关推荐
异常君16 分钟前
TCP TIME_WAIT 状态:原理、问题与优化方案
java·linux·tcp/ip
朱包林27 分钟前
day23-计算机网络-1
运维·网络
夜月yeyue33 分钟前
高性能MCU的MPU与Cache优化详解
linux·开发语言·stm32·单片机·嵌入式硬件
平平无奇。。。1 小时前
Mysql库的操作和表的操作
linux·数据库·mysql
一张假钞1 小时前
Linux 下 ChromeDriver 安装
linux·运维·服务器
shark-chili2 小时前
Java并发编程哲学系列汇总
linux·运维·服务器·操作系统
weixin_307779132 小时前
Neo4j 备份与恢复:原理、技术与最佳实践
运维·数据库·neo4j
00后程序员张2 小时前
移动网页调试的多元路径:WebDebugX 与其他调试工具的组合使用策略
websocket·网络协议·tcp/ip·http·网络安全·https·udp
qq_243050792 小时前
rtpmixsound:实现音频混音攻击!全参数详细教程!Kali Linux教程!
linux·web安全·网络安全·黑客·渗透测试·voip·kali linux
背太阳的牧羊人2 小时前
docker 中 什么是「卷」?(Volume)
运维·docker·容器