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

简单记录于此,备忘。

相关推荐
AOwhisky34 分钟前
云计算一阶段Ⅱ——3. Linux 计划任务管理
linux·chrome·云计算
wdfk_prog44 分钟前
实战指南:如何将Git仓库中的特定文件夹及其历史完整迁移到另一个仓库
大数据·linux·运维·笔记·git·学习·elasticsearch
瑞士龙珠1 小时前
CentOS 7.4 → 7.9.2009 升级操作步骤(使用 Vault 仓库)
linux
highersister1 小时前
【RK3568源码编译准备工作】
linux
鸠摩智首席音效师2 小时前
如何在 Ubuntu 24.04 安装 KVM ?
linux·运维·ubuntu
静渊谋2 小时前
应急响应整理
linux·windows
CODE_RabbitV3 小时前
Linux 文件与目录操作命令宝典
linux·运维·服务器
gnawkhhkwang3 小时前
io_submit系统调用及示例
linux·c语言
caz283 小时前
麒麟服务器版操作系统添加VNC
linux·服务器·centos·vnc
gnawkhhkwang3 小时前
io_cancel系统调用及示例
linux·c语言