Answers:
1 Gbit / s是此连接的理论最大值。
很多事情都会影响这一点。
预计机载NIC的性能会受到影响,因为它们很可能(基于设备描述“笔记本电脑”和“桌面”)基于主机的适配器依赖CPU来处理网络流量。因此,速度将受到CPU做其他事情的影响(例如,将数据从HDD传送到网络子系统)。
此外,根据“路由器”的不同,它可能在从LAN端口传递到LAN端口时尝试处理数据,因此其处理速度也可能影响数据传输速度,无论其“端口”的速度有多快是。
如果我是你,我的下一个测试就是给自己一个“足够长的”CAT6交叉补丁线并将笔记本电脑直接连接到PC(你可能可以使用直通电缆,因为许多NIC支持自动 - 这些天的交叉)。
这样你(至少)可以很容易地消除或识别路由器(和/或现有布线)作为瓶颈。
默认情况下,iperf使用非常小的窗口大小。
增加窗口或在UDP模式下运行它将很容易使1 Gbit / s连接饱和。
Jeff Atwood 对千兆网络的真实吞吐量在他的计算中更接近30MB / s 有一个很好的分析。(大'B',不小'b')
...你绝对不应该期望我们实现从10baseT到100baseT的完美缩放。如果没有任何重大调整,您只能获得您所期望的十倍带宽改进的一小部分
如果一切都是千兆位,您可以尝试启用巨型帧。我的一个朋友用他的家用电脑做了这件事,发现吞吐量大幅增加。但是,如本文所述,VOIP等低延迟应用程序存在一些缺点。
你说你在使用路由器吗?是一个现成的消费级路由器(不是开关)?
我会说这很可能是你的瓶颈。要验证这一点,请将笔记本电脑直接插入桌面。将笔记本电脑和台式机设置为使用静态IP地址,如192.168.1.10(笔记本电脑),192.168.1.11(桌面)。
这应该允许笔记本电脑直接与桌面通话。在它们之间运行iperf并在此处报告结果。
这应该是有效的,因为大多数现代网卡都可以自动检测发送/接收线,这与以前您必须构建交叉线缆时不同。
如果你看到明显增加,那么你的路由器就是罪魁祸首。其中一些有背面的开关,其他可以实际在端口之间路由。许多这些路由器都是糟糕的表现者。如果你确实发现这是问题,那么如果我是你,我要么升级路由器(这可能适合互联网使用)或者自己购买GigE交换机并将其级联到路由器交换机上。将笔记本电脑和台式机插入交换机。这样,他们就会绕过路由器互相交谈。
完成实验后,请确保将笔记本电脑和桌面更改回DHCP。
为了给你一个想法,你应该得到我认为650Mbit / s及以上。除非你告诉它,否则iperf不会使用硬盘。所以它是内存或真正测试网络的内存。
其他瓶颈实际上是CPU可以将数据从内存传输到网卡的速度。PCI Express上的网络似乎运行得更好。我认为笔记本电脑现在通常都是相当便宜的,所以如果你没有看到太多,那么这可能是另一个瓶颈。
此外,消费级交换机通常只能处理任意两个端口之间的1GB切换,而高端管理型交换机可以同时在所有端口上以线速切换。这是他们花费更多成本的部分原因。
我们进行了大量的测试,然后归结为操作系统。
如果我们从Ubuntu 11.04转到Ubuntu 11.04(与CentOS for Linux机器相同),速度吞吐量为~938-941 MBits / s常数。如果我们从Windows 7 x64 SP1 Ultimate到Ubuntu 11.04,它的变化范围是~440-475 MBits / s。如果我们从Windows 2008 R2SP1 x64移动到Ubuntu 11.04,速度测量为~435-635 MBits / s。
如您所见,与Windows相比,基于Linux的计算机完全利用千兆链路。我们现在正在调查Windows中的设置,这些设置将导致与相同硬件上的Linux相同的吞吐量。硬盘限制不是因素,因为这是在内存中。根据记录,我们使用的机器配备了带SATA 3.0的7200 RPM驱动器。Ubuntu 11.04(或Linux基础版)和Windows都超过了这些SATA链接的理论速度。
传输速度仅与链中最薄弱的环节一样好。它可能不是网络速度,而是硬盘的写/读速度。
您可以下载RamDisk软件并在两台计算机上创建RamDisk。在其中放置一个合适的大小文件,并通过RamDisks之间的网络进行传输。这应该显示您的网络的实际速度,不会受到硬盘驱动器速度的瓶颈。
不是你问题的直接答案,但最近我们iperf
在两个Linux机箱之间得到了以下结果(8核,每个2.66 GHz):
------------------------------------------------------------
Client connecting to 192.168.74.15, TCP port 5001
TCP window size: 192 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.74.25 port 54016 connected with 192.168.74.15 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.10 GBytes 941 Mbits/sec
MTU = 1500(即不使用巨型帧)。这应该可以让您了解原则上可行的性能。
网卡(lspci输出)是:
82571EB Gigabit Ethernet Controller
在双方。
您可能想要检查服务器上的CPU负载,尤其是客户端上的CPU负载,看看它是否接近100%。即使我不得不说在我们的系统上,最繁忙的核心在接收器(发送器)侧空闲80%(83%),而其他7个似乎100%空闲(检查mpstat
)。
这是在iperf
没有-u
选项的情况下运行,即这使用TCP。
davr,与光纤通道和使用复杂带宽分配方案的类似技术不同,以太网是一种“监听和尖叫”协议。以太网首先监听是否有人正在传输,如果是,则等待,否则发送。问题是,如果两个或多个希望传输的人同时收听,他们也会同时发送!这将导致冲突和重新传输。花式开关消除了很多,但不是全部。
使用以太网,你应该期望看到大约30-40%的带宽(看起来你得到这个...我可能错误的确切#,很大程度上取决于交换机质量等)在大量的冲突开始发生之前,结构技术是像80%的东西。以太网便宜,光纤通道不便宜。。。我不确定4G以太网能做些什么来解决这个问题。。。它可能具有类似于光纤通道和朋友的更像“结构”的网络拓扑。这是过于简单化,但基本上是正确的。