dcsimg

挤压千兆网卡以获得最佳性能

千兆网卡变得越来越普遍,但是要获得最高速度,则取决于硬件,软件和技术的正确组合。这是使用Linux,FreeBSD和Windows从千兆位设备中挤出最高性能的方法。

 By 查理·舒丁(Charlie Schluting)
第1页,共2页

许多新的工作站和服务器都集成了千兆位(定义)网卡,但是很快就有很多人发现他们无法比使用100 Mb / s网卡传输数据快得多。多种因素可能会影响您以较高速度进行传输的能力,并且其中大多数与操作系统设置有关。在本文中,我们将讨论必要的步骤,以使您的新的启用千兆位的服务器在Linux,FreeBSD和Windows中获得接近千兆位的速度。

硬件注意事项

首先,我们必须意识到要考虑的硬件限制。仅仅因为有人在服务器中丢了一个千兆网卡,并不意味着硬件可以跟上。

网卡通常连接到 PCI总线总线通过空闲的PCI插槽。在较旧的工作站和非服务器级主板中,PCI插槽通常为32位33MHz。这意味着它们可以133MB / s的速度传输。由于总线是在计算机的许多部分之间共享的,因此在最佳情况下,实际上限制为大约80MB / s。

千兆网卡提供1000Mb / s或125MB / s的速度。如果PCI总线仅能达到80MB / s,这是千兆网卡的主要限制因素。数学计算结果为640Mb / s,实际上比大多数千兆位网卡安装要快很多,但请记住,这可能是最佳情况。

如果服务器中还有其他渴望使用数据的PCI卡,则吞吐量可能会大大降低。克服此瓶颈的唯一解决方案是购买具有66MHz PCI插槽的主板,其速度可以达到266MB / s。此外,新的64位PCI插槽在66MHz总线上的速度为532MB / s。这些已开始在所有服务器级主板上成为标准配置。

假设我们所使用的硬件可以满足千兆位所需的数据速率,那么现在还有另一个障碍—操作系统。为了进行测试,我们使用了两个相同的服务器:英特尔服务器主板,奔腾4 3.0 GHz,1GB RAM,集成的10/100/1000英特尔网卡。其中一个运行的是带有2.6 SMP的Gentoo Linux(定义)内核,另一个是带有SMP内核的FreeBSD 5.3,以利用Pentium 4的HyperThreading功能。我们很幸运地拥有一个具有千兆位功能的交换机,但是通过将两个服务器直接彼此连接可以实现相同的结果。

软件注意事项

For testing speeds between two servers, we don't want to use FTP or anything that will fetch data from disk. Memory to memory transfers are a much better test, and many tools exist to do this. For our tests, we used 'ttcp'(http://www.pcausa.com/Utilities/pcattcp.htm).

这两个服务器之间的第一个测试不太好。最大速率约为230 Mb / s:大约是100Mb / s网卡的两倍。这是一个改进,但远非最佳。实际上,大多数人会发现甚至更差的性能。但是,通过一些小的设置更改,我们迅速实现了速度上的重大改进—比初始测试提高了三倍以上。

许多人建议将nba赌钱接口的MTU设置为更大。这基本上意味着告诉网卡发送更大的以太网帧。虽然这在将两个主机直接连接在一起时可能很有用,但是在通过不支持更大容量的交换机进行连接时,它的作用就降低了 MTU。无论如何,这不是必需的。正常的1500字节MTU设置可以达到900Mb / s。

为了获得最大吞吐量,最重要的选项涉及TCP窗口大小。 TCP窗口控制数据流,并在启动TCP连接期间进行协商。使用太小的大小会导致速度变慢,因为TCP只能使用两个终端系统功能中的较小者。它要比这复杂得多,但这是您真正需要知道的信息。

本文最初于2007年2月24日发布
通过nba赌钱更新新闻获取最新消息