linux – 为什么nf_conntrack_count会不断增加?

linux – 为什么nf_conntrack_count会不断增加?,第1张

概述我正在使用Ubuntu 11.10& nginx的.我的服务器目前正在做大约350 rps(这是正在进行的负载).我使用iptables来确保某些端口上的连接仅限于我拥有的盒子. 我注意到nf_conntrack_count不断增加.无论我将nf_conntrack_max推送到什么地方,nf_conntrack_count都会在一天之内与之匹配.此外,它与netstat -tn告诉我的不一致.这 我正在使用Ubuntu 11.10& Nginx的.我的服务器目前正在做大约350 rps(这是正在进行的负载).我使用iptables来确保某些端口上的连接仅限于我拥有的盒子.

我注意到nf_conntrack_count不断增加.无论我将nf_conntrack_max推送到什么地方,nf_conntrack_count都会在一天之内与之匹配.此外,它与netstat -tn告诉我的不一致.这是数字:@H_502_3@

$sudo sysctl net.netfilter.nf_conntrack_count net.netfilter.nf_conntrack_maxnet.netfilter.nf_conntrack_count = 649715net.netfilter.nf_conntrack_max = 650000$netstat -tn | awk '{n[]++} END { for(k in n) { print k,n[k]; }}'CLOSING 6ESTABliSHED 2933FIN_WAIT1 116FIN_WAIT2 3447LAST_ACK 35SYN_RECV 79TIME_WAIT 27141$sudo conntrack -L | awk '{n[]++}; END {for(k in n) { print k,n[k]; }}'conntrack v1.0.0 (conntrack-tools): 648611 flow entrIEs have been shown.CLOSE 443CLOSE_WAIT 2210ESTABliSHED 645529FIN_WAIT 45LAST_ACK 50SYN_RECV 74TIME_WAIT 259

在我确切知道发生了什么之前,我不想继续增加nf_conntrack_max.我绝对没有650,000连接到我的盒子(单个IP,所以我没有那么多端口).@H_502_3@

知道发生了什么或我能做些什么来解释它?如果你需要更多数字,我可能会得到它们.@H_502_3@

请注意,我的大部分连接都是http(唯一的例外是我的ssh会话),并且Nginx中的keepalive超时设置为15秒. net.netfilter.nf_conntrack_tcp_timeout_time_wait = 1@H_502_3@

任何帮助赞赏.@H_502_3@解决方法 我可能有一个线索.来自conntrack -L的超时字段有几个值在430,000秒范围内.这看起来非常接近nf_conntrack_tcp_timeout_established的默认值.我已经将nf_conntrack_tcp_timeout_established调整为300,并且表中的所有新条目的超时值都小于300.这似乎表明只要tcp_timeout_established有效,条目就会在连接跟踪表中保留.

随着我获得更多信息,将添加此答案.@H_502_3@ 总结

以上是内存溢出为你收集整理的linux – 为什么nf_conntrack_count会不断增加?全部内容,希望文章能够帮你解决linux – 为什么nf_conntrack_count会不断增加?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/1040670.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-24
下一篇2022-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存