连接到127.0.0.1的间歇性故障,连接到IP时没有故障(eth0)

时间:2014-06-18 18:47:55

标签: java linux tcp network-programming ip

我有一个基于servlet的应用程序在tomcat(7.0.53),oracle jvm(1.7.x)和CentOS(6.5)上运行。 有一个脚本通过向它发出GET请求(每10秒)来对应用程序进行一次“检查”。

我遇到以下问题:

当处于正常(中等)负载(~4k并行连接)时,某些健全性检查会因连接超时而失败(大约每10到20次请求失败)。 客户端上配置的连接超时为120秒。 这很开心仅在连接到127.0.0.1(环回)时,连接到真实LAN界面的<IP>eth0)没有此问题* 。 所以:

curl <args> http://127.0.0.1:<port>失败,

curl <args> http://1.2.3.4:<port>不会失败。

运行tcpdump表示服务器端在失败的情况下不会发回SYN-ACK

注意:出于好奇,我禁用了IPv6支持(net.ipv6.conf.all.disable_ipv6 = 1),问题消失了。 之前,未使用IPv6,但初始化了环回(lo)接口的IPv6,并且应用程序已绑定到所有可用接口(127.0.0.1::1<IP>) 。 在eth接口上,IPv6根本没有初始化。

这种行为有什么可能的原因?

有关此问题的任何想法吗?

0 个答案:

没有答案