Skip to content

MQTT 写入场景下大量 ESTABLISHED / TIME_WAIT 连接导致内存过载、操作超时问题 #6056

Discussion options

You must be logged in to vote

可以尝试通过调整内核参数解决:

vim /etc/sysctl.conf
#编辑文件,加入以下内容:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30

然后执行 /sbin/sysctl -p 让参数生效。

配置说明:

net.ipv4.tcp_syncookies = 1
表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;

net.ipv4.tcp_tw_reuse = 1
表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;

net.ipv4.tcp_tw_recycle = 1
表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭;

net.ipv4.tcp_fin_timeout=30
修改系統默认的 TIMEOUT 时间。

参考:https://blog.csdn.net/liuzhenwen/article/details/50245359

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by SteveYurongSu
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
1 participant