1

我们在一些 WinXP 和 Windows 7 机器上遇到了网络性能问题,但不是全部。

我们将发出一个 send() 调用,然后是 recv() 响应。记录系统记入日志文件,应用程序认为延迟在 recv() 上(几乎正好是 500 毫秒 + 每次 15 毫秒的时间片)。但是,Wireshark 显示从发送数据包实际发出到响应进来的时间完全没有明显延迟。因此,似乎有些东西阻塞了 send() 500 毫秒,或者整个响应在应用程序看到它之前被延迟(最多30K左右,所以很多数据包)。

打开或关闭 Windows 防火墙没有任何作用。此计算机已安装趋势科技试用版,但未激活和禁用。其他有问题的计算机有其他杀毒软件等。

我们已经调查了 Nagle 并延迟了 ACK,但似乎都不是罪魁祸首。我们也在使用 TCP_NODELAY 以防万一。TcpAckFrequency 注册表项也不会更改任何内容。

我们正在执行一个 send() 和一个 recv()。没有什么花哨。

认为这可能是我们使用端口 80 的问题并且我们遇到了一些未知的数据包检查阻塞,我们尝试了不同的端口以达到相同的效果。

有任何想法吗?

编辑

我们有一些专家用户声称卸载防病毒软件(甚至是禁用的)可以为他们修复它,但并非总是如此。此外,不同的系统使用不同的防病毒包(这个有禁用的趋势科技,其他的是诺顿等) 这可能是某些东西的弱证据,也许......我想我会提到它。

编辑 2

更新以使这个非 Win7 特定,因为我们现在发现了一个行为相同的 WinXP 系统。

4

0 回答 0