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

简单记录于此,备忘。

相关推荐
霍格沃兹测试学院-小舟畅学7 分钟前
我用一个自定义Skill,把UI自动化维护时间从4小时压到15分钟
运维·ui·自动化
D4c-lovetrain11 分钟前
Linux个人心得28(k8s实战)
linux·运维·kubernetes
淼淼爱喝水16 分钟前
openEuler 环境下 Ansible Playbook 实战:批量创建用户并修改 Shell 属性
linux·运维·服务器·openeuler·playbook
莎士比亚的文学花园20 分钟前
Linux驱动开发(2)——驱动编程
linux·运维·驱动开发
YaBingSec21 分钟前
玄机网络安全靶场:Jackson-databind 反序列化漏洞(CVE-2017-7525)
linux·网络·笔记·安全·web安全
计算机安禾24 分钟前
【Linux从入门到精通】第30篇:综合案例:编写一个Linux系统体检脚本
linux·运维·服务器
IpdataCloud29 分钟前
远程办公网络安全中,IP查询工具如何保障数据安全?适用场景与落地指南
tcp/ip·web安全·php
海的预约32 分钟前
Bootloader应用分析
linux·运维·服务器
时空未宇36 分钟前
海鸥派顺利运行YOLO11S
linux·运维·服务器
ElevenS_it18837 分钟前
日志在哪里找?分布式环境下日志采集断裂的5个排查路径
运维·网络·分布式