【无标题】高流量大并发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 小时前
动静态库的制作与使用(Linux操作系统)
linux·运维·服务器·c++·系统架构·库文件·动静态库
Themberfue1 小时前
UDP/TCP ⑤-KCP || QUIC || 应用场景
网络·网络协议·tcp/ip·计算机网络·udp
bohu835 小时前
亚博microros小车-原生ubuntu支持系列:8-脸部检测与人脸特效
linux·opencv·ubuntu·dlib·microros·亚博
贾贾20237 小时前
配电自动化系统“三区四层”数字化架构
运维·科技·架构·自动化·能源·制造·智能硬件
小池先生8 小时前
grafana+prometheus监控linux指标
linux·grafana·prometheus
浮梦终焉8 小时前
【嵌入式】总结——Linux驱动开发(三)
linux·驱动开发·qt·嵌入式
远方 hi8 小时前
linux如何修改密码,要在CentOS 7系统中修改密码
linux·运维·服务器
练小杰9 小时前
Linux系统 C/C++编程基础——基于Qt的图形用户界面编程
linux·c语言·c++·经验分享·qt·学习·编辑器
资讯分享周10 小时前
过年远控家里电脑打游戏,哪款远控软件最好用?
运维·服务器·电脑
chaodaibing10 小时前
记录一次k8s起不来的排查过程
运维·服务器·k8s