如何提高粗长管道的传输速度?

如何提高粗长管道的传输速度?

我在两个设施之间有一个日志管道(千兆位电路,RTT 延迟为 17 毫秒)。在进行系统到系统的文件传输(文件共享、rsync、ftp、sftp)时,我达到的最大速度约为 30 兆位,这比我预期的要低。

操作系统:Windows XP 和 Windows Server 2003

这是我所做的:

  1. 修改注册表设置如下:

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
    "Tcp1323Opts"=dword:00000003
    "GlobalMaxTcpWindowSize"=dword:00206cc8
    "TcpWindowSize"=dword:00206cc8
    "SackOpts"=dword:00000001

  2. iperf显示接近理想的900兆比特传输,因此管道可以处理它。

我明白,使用某种 UDP 层可以帮助我,但在这里这不是一个选择。

谢谢。

答案1

我也会尝试调整 MTU。对于使用 PPPoE 连接的系统,MTU 为 1492(默认为 1500)比其他任何值都好。如果所有网络设备都支持巨型帧,您可以尝试将其推高至 9000。它应该位于:

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\参数\接口

关于调整网络速度的链接

答案2

无论使用的操作系统如何,TCP 设置都会极大地影响感知的最大吞吐量。例如,所选的拥塞避免算法对其影响很大(尤其是在使用粗管道时)。其他内容请参见此处:http://support.microsoft.com/kb/224829

请注意,TCP 设置仅影响上行流量。

相关内容