首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >限制用于高负载服务器的带有iptables的端口的传入连接总数

限制用于高负载服务器的带有iptables的端口的传入连接总数
EN

Server Fault用户
提问于 2019-05-31 23:53:58
回答 1查看 355关注 0票数 0

我有一个监听端口的服务器程序,我希望限制端口的传入TCP连接的总数。

我尝试了以下规则:

代码语言:javascript
复制
-A INPUT -p tcp --syn --match multiport --dports 443,4443 -m connlimit --connlimit-above 15000 --connlimit-saddr --connlimit-mask 0 -j DROP

但是它将引入高CPU使用率的"ksoftirqd“和高数据包响应延迟。服务器的正常流量将有来自9000 ~ 11000个不同来源IP的14000 ~ 15000个连接。还有别的解决办法吗?

OS:版本7.5。

表: v1.4.21

EN

回答 1

Server Fault用户

回答已采纳

发布于 2019-06-01 00:34:11

这并不奇怪您有一个性能问题,因为您现在要求系统花费大量的时间来计算连接,以确定是否有超过任意数量的连接,并且它必须在每个新的请求上这样做。(出于某种原因,你似乎建立了许多短暂的关系。如果可以的话,尽量避免。)

最终,如果您想要保持这种性能水平,您应该在服务器前面设置一个单独的防火墙,这样可以完成所有必要的连接跟踪,并允许您的服务器专注于为其应用程序服务。不过,这会带来一点延迟,所以如果应用程序对延迟非常敏感,那么您可能根本就没有任何好的解决方案。(除了让短命的连接更长寿以外。)

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/969727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档