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

简单记录于此,备忘。

相关推荐
SCandL1522 分钟前
安全上下文的修改实验
linux
ragnwang7 分钟前
Ubuntu /home 分区安全扩容教程
linux·运维·ubuntu
Azure++14 分钟前
Centos安装clickhouse
linux·clickhouse·centos
濊繵14 分钟前
Linux网络--应用层自定义协议与序列化
linux·服务器·网络
游戏开发爱好者817 分钟前
Mac 抓包软件怎么选?从 HTTPS 调试、TCP 数据流分析到多工具协同的完整抓包方案
tcp/ip·macos·ios·小程序·https·uni-app·iphone
zt1985q43 分钟前
本地部署 Jupyter 并实现外部访问(Windows 版本)
运维·服务器·windows
爱吃泡芙的小白白44 分钟前
使用某云超算平台Jupyterlab的使用方法(自用)
运维·服务器·python·学习记录
p***93031 小时前
自己编译RustDesk,并将自建ID服务器和key信息写入客户端
运维·服务器
潇凝子潇1 小时前
Linux 服务器实时监控Shell 脚本
linux·服务器·chrome
顾安r1 小时前
11.21 脚本 网页优化
linux·前端·javascript·算法·html