这将启用RFC 1323中定义的有用的窗口伸缩选项。RFC 1323允许把窗口尺寸设置的比我们上面指定的要大得多。
- FreeBSD:
net.inet.tcp.rfc1323=1 |
- Linux:
net.ipv4.tcp_window_scaling=1 |
设置缓存:
当发送大量数据时,可能会超出操作系统的缓存大小限制。这个选项应该在使用前面提到的那些设置前就启用。要增加可用的“mbufs”容量,可使用如下指令:
- FreeBSD:
kern.ipc.nmbclusters=32768 |
- Linux:
net.ipv4.tcp_mem= 98304 131072 196608 |
这些设置将极大地提高TCP性能。在上述设置完成之后,我们就能够运行ttcp,并且每一次都获得大约每秒890M位的数据传输速度。还有一些选择可以调整UDP数据报的尺寸。但是,我们本文的重点是TCP。
在Windows XP/2000 Server/Server 2003系统下
TCP设置在注册表编辑器中的神秘位置是:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
我们需要增加一个名为“TcpWindowSize”的“DWORD”注册表键值,并且输入足够大的尺寸。131400应该足够了。“Tcp1323Opts”应该设置为3。这将启用rfc1323的可伸缩性和时间戳。
而且,同Unix一样,我们要增加TCP缓存的尺寸:
ForwardBufferMemory 80000
NumForwardPackets 60000
对于Windows XP用户来说,最后一个需要指出的重要事情是:如果你已经安装了SP2,那么,还有另一个引起网络性能不佳的原因。微软知识库842264号文件解释了这个问题。(这个文件的网址是http://support.microsoft.com/?kbid=842264)。微软称,在安装SP2之后关闭互联网共享(ICS)功能应该能够修复这个性能问题。
上述方法应该能够使你显著提高服务器的性能,在TCP连接上获得更快的数据速率。如果你的具体应用程序主要使用UDP,那么,应该研究与UDP数据报尺寸相关的选项。请记住,我们用一台速度很快的奔腾4计算机、服务器级主板和高质量的英特尔网卡获得了接近每秒900M位的速度。这个结果可能有很大差别。但是,调整上述设置是实现你的服务器GB网卡功能的一个必要的步骤。