诊断极慢的网络操作

诊断极慢的网络操作

网络:* 一台带有 2 个 NIC 的 Windows 7 PC - 一个连接到旧式以太网集线器 - 另一个连接到互联网 - 启用互联网共享 * 一台连接到集线器的 Apple iMac,成功利用 ICS 访问互联网。

我的问题:使用 Mac,从互联网复制很快。但是,如果我连接到 Windows 7 PC 上的 SMB:共享并尝试复制任何大于几 kb 的内容,则复制操作会非常慢,我的网卡使用 Windows 7 控制面板显示利用率约为 0.1%。

如果我使用 Mac 通过互联网下载大文件,NIC 为 100Mbs,吞吐量会大 10 倍(现在约为 1%)。

什么鬼?

答案1

虽然只是一种猜测,但测试起来很快。尝试在 Mac 上执行此操作:

sysctl net.inet.tcp.delayed_ack

...并记下它报告的内容。它将是一个整数,可能是值 2 或 3。记录之前设置的方式后,尝试将其设置为零:

sudo sysctl -w net.inet.tcp.delayed_ack=0

...然后卸载所有 SMB 挂载卷并重新挂载它们,以便建立新的 TCP 连接。然后再次尝试文件复制测试,看看速度是否显著提高。

我遇到过 Mac OS X 的 TCP 延迟确认算法不太理想的情况,因此进行这个测试以快速排除这种情况可能会很好。

我的部分假设是,在进行本地文件传输时,Windows 是 TCP 端点,因此您要处理 Windows 的 TCP 堆栈。如果您的 Mac 和 Windows 之间存在 TCP 调优互操作问题,您会在那里看到它。相比之下,当您的 Windows 计算机进行 Internet 连接共享时,它只是传递您的 TCP 流量,而不是充当连接的端点,因此行为会有所不同。

相关内容