为什么我的 1000 Mbit/s 网络只能获得 300-400 Mbit/s 的速度?

dav*_*avr 17 networking performance ethernet gigabit-ethernet

我的设置是这样的:

笔记本电脑 <--> 路由器 <--> 台式机

它们都支持千兆以太网。我在笔记本电脑和台式机上使用“iperf”TCP/IP 基准测试,但我从未获得超过 400 Mbit/s 的原始吞吐量。笔记本电脑是运行 Windows XP 的英特尔酷睿 2 Duo 2 GHz,台式机是运行 Windows 7 的英特尔酷睿 2 四核 2.4 GHz。我可以查看哪些东西来最大化它们之间的网络速度?软件设置?一种知道我的电缆是否符合规格的方法?如何知道其中一个设备中的千兆以太网控制器是否无法达到最大速度?

Ƭᴇc*_*007 11

1 Gbit/s 是此连接的理论最大值。

很多事情都会影响到这一点。

预计板载 NIC 的性能会受到影响,因为它们很可能是(基于设备描述“笔记本电脑”和“台式机”)依赖 CPU 处理网络流量的基于主机的适配器。因此速度会受到 CPU 做其他事情的影响(例如从 HDD 获取数据到网络子系统)。

此外,根据“路由器”是什么,它可能会在从 LAN 端口传递到 LAN 端口时尝试处理数据,因此其处理速度也可能会影响数据传输速度,无论其“端口”有多快是。

如果我是你,我的下一个测试是给自己准备一条“足够长”的 CAT6 交叉跳线,然后将笔记本电脑直接连接到 PC(你可以使用直通电缆,因为许多 NIC 支持自动- 交叉这些天)。

这样你(至少)可以很容易地消除或识别路由器(和/或现有布线)作为瓶颈。

  • 仅供参考,使用千兆以太网,不再需要交叉电缆。所有千兆以太网控制器都需要能够“自动感应”电缆,因此您可以使用标准电缆将千兆以太网设备连接在一起。我会尝试将我的笔记本电脑直接连接到台式机,看看是否有区别。 (14认同)

use*_*307 8

默认情况下,iperf 使用非常小的窗口大小。

增加窗口或在 UDP 模式下运行它,它很容易使 1 Gbit/s 连接饱和。

  • 您不会用消费级硬件来饱和它。 CPU 通常受到 PCI 或 PCI-Express 总线的限制。即CPU 无法足够快地将数据从RAM 移动到网卡。服务器级硬件似乎做得更好。我知道,我是一名程序员,我一直在努力做到这一点。已经很接近了,但现在受到我自己的硬件的限制。 (2认同)

JMD*_*JMD 4

Jeff Atwood对为什么千兆网络的实际吞吐量在他的计算中更接近 30MB/s进行了一些很好的分析。(大“B”,而不是小“b”)

...您绝对不应该期望我们从 10baseT 到 100baseT 实现完美的扩展。如果不进行任何重大调整,您将只能获得预期的十倍带宽改进的一小部分