Linux TCP连接超时长度不一致

Linux TCP连接超时长度不一致

在承载我所工作的应用程序的 Linux 机器上,我们开始看到一个问题,即针对远程主机端口的连接尝试有时需要更长时间才能返回。

为了进行测试,我们设置了一个简单的脚本,该脚本只是尝试在无限循环中对不存在的远程端口进行 telnet。

在大多数连接尝试中,我们几乎会立即收到如下返回信息:

telnet remoteHost 12345
Trying 192.168.1.1...
telnet: connect to address 192.168.1.1: Connection refused

但是,在相当规律的时间间隔内,连接似乎会挂起几秒钟,然后继续进行下一次连接尝试,并将恢复到几乎即时的连接状态。它只是停留在“尝试”阶段:

telnet remoteHost 12345
Trying 192.168.1.1...

通常情况下,这不是什么大问题,但对于每秒在大约 100 台服务器之间执行数千项操作的应用程序来说,这些随机的减速开始成为一个问题。有人知道是什么导致了这个长度或时间,或者为什么它可能不一致吗?

如果重要的话,这里有一些系统信息:

uname -r           -> 2.6.16.60-0.39.3-smp
uname -m           -> x86_64
cat /etc/*-release -> SUSE Linux Enterprise Server 10 (x86_64)
                     VERSION = 10
                     PATCHLEVEL = 2

答案1

听起来你的扫描技术类似于端口扫描,那么服务器是否可能被配置为在检测到端口扫描时丢弃 SYN 数据包?服务器上是否有任何防火墙设置类似于 #8 中的设置10 条 iptables 规则助您保护 Linux 系统

相关内容