【发布时间】:2015-08-20 13:30:27
【问题描述】:
我有 2 台 centOS-7 机器,比如机器 A、B。 机器 A 有一台服务器在端口 80 上侦听。当我在同一台机器上以每秒 2000 个请求运行 curl-loader(用于负载测试目的)时,所有请求都命中服务器,我检查了“ss -s”命令并打开TCP 套接字超过 2000 个。
但我的问题是当我在机器 B 中运行 curl-loader 并尝试访问服务器 A 时,只有少数请求到达服务器,其余的都退出了。 在机器 B 的 'ss -s' 命令中返回 2K+ 值。但在机器 A 中,'ss -s' 命令将仅返回值 25-30。其余所有请求均返回 TCP-CONNECT 错误
【问题讨论】:
-
听起来服务器被限制了。在许多情况下,这对于保护系统免受过载是有意义的。例如,如果该服务器是 http 服务器,则有一个 max_connections 配置指令。您必须分享更多详细信息,以便我们提供更具体的帮助。
-
对不起,我忘记在我的问题中提及这一点。我的服务器是 squid 代理服务器,没有最大连接限制。当我从同一台机器上点击 squid 时,所有请求都得到了服务,但从另一台机器上,所有请求都没有到达。正如我在我的问题中提到的,当请求来自另一台机器时,没有打开足够的套接字
-
然后指向网络级别的限制,因此通过包过滤器(“防火墙”)。相同的动机,不同的层次。