我的设置如下:
笔记本电脑 <--> 路由器 <--> 台式机
它们都支持千兆以太网。我在笔记本电脑和台式机上使用“iperf”TCP/IP 基准测试,但原始吞吐量从未超过 400 Mbit/s。笔记本电脑是运行 Windows XP 的 Intel Core 2 Duo 2 GHz,台式机是运行 Windows 7 的 Intel Core 2 quad 2.4 GHz。我可以通过哪些操作来最大程度地提高它们之间的网络速度?软件设置?如何知道我的电缆是否不符合规格?如何知道其中一个设备中的千兆以太网控制器是否无法达到最大速度?
答案1
1 Gbit/s 是此连接的理论最大值。
有很多因素都会影响这一点。
您的板载 NIC 的性能可能会受到影响,因为它们很可能是(根据设备描述“笔记本电脑”和“台式机”)基于主机的适配器,依赖 CPU 来处理网络流量。因此,速度会受到 CPU 执行其他操作(例如将数据从 HDD 传输到网络子系统)的影响。
此外,根据“路由器”的不同,它可能会尝试在数据从一个 LAN 端口传递到另一个 LAN 端口时对其进行处理,因此无论其“端口”速度有多快,其处理速度也可能会影响数据传输速度。
如果我是你,我的下一个测试将是给自己买一条“刚好足够长”的 CAT6 交叉跳线,并将笔记本电脑直接连接到 PC(你也许可以使用直通电缆,因为现在许多 NIC 都支持自动交叉)。
这样,您(至少)可以非常轻松地消除或识别路由器(和/或现有线路)作为瓶颈。
答案2
iperf 默认使用非常小的窗口大小。
增加窗口或在 UDP 模式下运行它,它将很容易使 1 Gbit/s 连接饱和。
答案3
杰夫阿特伍德有一些很好的分析为什么千兆网络的实际吞吐量在他的计算中更接近 30MB/s。(大“B”,而不是小“b”)
...您绝对不应该期待我们从 10baseT 到 100baseT 实现的完美扩展。如果不进行任何重大调整,您只能获得预期十倍带宽改进的一小部分
答案4
你说你正在使用路由器吗?那是现成的消费级路由器(不是交换机)吗?
我认为这很可能是您的瓶颈。要验证这一点,请将笔记本电脑直接插入台式机。将笔记本电脑和台式机设置为使用静态 IP 地址,例如 192.168.1.10(笔记本电脑)、192.168.1.11(台式机)。
这样笔记本电脑就能直接与台式机通信了。在它们之间运行 iperf 并在此处报告结果。
这应该可以工作,因为大多数现代网卡可以自动感应传输/接收线,而不像以前必须建立交叉电缆。
如果您发现明显增加,则罪魁祸首是路由器。其中一些路由器背面有交换机,其他路由器实际上可以在端口之间路由。许多路由器的性能都很糟糕。如果您确实发现这是问题所在,那么如果我是您,我会升级路由器(对于互联网使用来说可能没问题),或者去买一个 GigE 交换机并将其级联到路由器交换机上。将您的笔记本电脑和台式机插入交换机。这样,它们将绕过路由器相互通信。
完成实验后,请确保将笔记本电脑和台式机改回 DHCP。
给你一个概念,我认为你应该得到 650Mbit/s 及以上。除非你告诉 iperf,否则它不会使用硬盘。所以它是内存到内存或真正测试网络。
另一个瓶颈实际上是 CPU 将数据从内存传输到网卡的速度。PCI Express 上的网络似乎运行得更好。我认为如今笔记本电脑的制造成本通常相当低,所以如果你没有看到太多高于这个水平的数据,那么这可能是另一个瓶颈。
此外,消费级交换机通常只能处理任意两个端口之间 1GB 的切换,而高端管理型交换机可以同时在所有端口上以线速切换。这也是它们价格昂贵的部分原因。