【无标题】高流量大并发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·运维·信号处理
七夜zippoe10 分钟前
高性能网络编程实战:用Tokio构建自定义协议服务器
linux·服务器·网络·rust·tokio
桃子不吃李子12 分钟前
简单搭建express服务器
运维·服务器·express
owCode12 分钟前
Linux中的管道
linux·运维·服务器
jiedaodezhuti15 分钟前
服务器负载过高的多维度诊断与性能瓶颈定位指南
linux
北亚数据恢复16 分钟前
服务器数据恢复—raid5阵列硬盘离线搞崩溃,分区数据恢复案例来袭
运维·服务器
wsx_iot17 分钟前
TCP/IP 五层协议栈
网络·网络协议·tcp/ip
neo_will_mvp17 分钟前
服务器bmc功能
linux·运维·服务器
敲上瘾25 分钟前
Elasticsearch从入门到实践:核心概念到Kibana测试与C++客户端封装
大数据·linux·c++·elasticsearch·搜索引擎·全文检索
Ryan ZX32 分钟前
openEuler 22.03-Docker离线安装教程
运维·docker·容器