为什么我在千兆以太网上获得了 950 Mbps 的速度,但只有 360 Mbps 的速度下降?

Sam*_*mir 47 networking windows ethernet gigabit-ethernet peer-to-peer

我让两台台式电脑直接互相通话。它们都具有支持千兆以太网的网络适配器。那是 1 Gbps 或 1000 Mbps。我将它们与全新的 10 米长 Cat6 UTP直连电缆连接,我非常接近理论最大值。Windows 任务管理器(网络选项卡)在一个方向上显示 844 - 946 Mbps。但在另一个方向,它只显示大约 326 - 365 Mbps。

Local: 192.168.100.152
Remote: 192.168.100.151
Run Code Online (Sandbox Code Playgroud)

本地计算机运行 Windows 8.1 Pro,我将它远程连接到另一台运行 Windows Vista Ultimate 的计算机。

Iperf 结果

我用 Iperf 做了一些测试。我每次都进行了 60 秒的测试。我对每个通信方向进行了 10 次测试。然后我将这个表格与测试结果放在一起以获得平均值。

192.168.100.152 -> 192.168.100.151          106 MB/s
192.168.100.152 -> 192.168.100.151          107 MB/s
192.168.100.152 -> 192.168.100.151          108 MB/s
192.168.100.152 -> 192.168.100.151          107 MB/s
192.168.100.152 -> 192.168.100.151          107 MB/s
192.168.100.152 -> 192.168.100.151          104 MB/s
192.168.100.152 -> 192.168.100.151          101 MB/s
192.168.100.152 -> 192.168.100.151          108 MB/s
192.168.100.152 -> 192.168.100.151          108 MB/s
192.168.100.152 -> 192.168.100.151          108 MB/s
----------------------------------------------------
Min: 101 MB/s    Max: 108 MB/s    Avg: 106.4 MB/s (851.2 Mbps)

192.168.100.152 <- 192.168.100.151          41.1 MB/s
192.168.100.152 <- 192.168.100.151          41.1 MB/s
192.168.100.152 <- 192.168.100.151          41.1 MB/s
192.168.100.152 <- 192.168.100.151          41.0 MB/s
192.168.100.152 <- 192.168.100.151          41.0 MB/s
192.168.100.152 <- 192.168.100.151          41.1 MB/s
192.168.100.152 <- 192.168.100.151          41.0 MB/s
192.168.100.152 <- 192.168.100.151          41.1 MB/s
192.168.100.152 <- 192.168.100.151          41.1 MB/s
192.168.100.152 <- 192.168.100.151          41.1 MB/s
-----------------------------------------------------
Min: 41.0 MB/s    Max: 41.1 MB/s    Avg: 41.07 MB/s (328.56 Mbps)
Run Code Online (Sandbox Code Playgroud)

我的问题是,为什么它在另一个方向上慢得多?

Windows 任务管理器

这是在 Iperf 中执行测试时看到的网络图。

一种 乙

请注意以下两个截图中的图表!

C d

当我从发送数据切换到接收数据时,您是否注意到右上角的“1 Gbps”变为“500 Mbps”。为什么这样做?是否以某种方式将另一个网络端口感知为 1 Gbps 的一半,但在以另一种方式移动时却已满

文件传输测试

我对数据文件进行了更多测试,以获得更真实的磁盘到磁盘读数。为此,我创建了一个 1 GB 的文件。我只使用了默认的 Windows 文件共享工具。我从本地计算机连接到远程计算机上的 C$ 共享,并在它们之间来回拖放文件(跳绳),每次更改文件名。我尽我所能为所有事情计时,这就是我得到的。

192.168.100.152 -> 192.168.0.151    1073741824 Byte    25 s    40,96 MB/s
192.168.100.152 -> 192.168.0.151    1073741824 Byte    20 s    51.2 MB/s
192.168.100.152 -> 192.168.0.151    1073741824 Byte    16 s    64 MB/s
192.168.100.152 -> 192.168.0.151    1073741824 Byte    16 s    64 MB/s
192.168.100.152 <- 192.168.0.151    1073741824 Byte    11 s    93.091 MB/s
192.168.100.152 <- 192.168.0.151    1073741824 Byte    34 s    30.118 MB/s
192.168.100.152 <- 192.168.0.151    1073741824 Byte    11 s    93.091 MB/s
192.168.100.152 <- 192.168.0.151    1073741824 Byte    11 s    93.091 MB/s
Run Code Online (Sandbox Code Playgroud)

Windows 文件复制图指示的吞吐量讲述了一个不同的故事。在这里,我正在下载两个文件,一个接一个地下载到同一磁盘上的两个不同位置。第一个副本表示 107 MB/s 持续高达 41%,第二个副本表示 98.9 MB/s 持续高达 87%。

电子 F

所以这和我用 Iperf 工具得到的结果是一致的。现在,这是我上传到远程计算机时的样子。

G H 一世

它维持 103 MB/s 高达 73%,然后它在 82% 时下降到 27.3 MB/s,然后上升一个档次,达到 49.1 MB/s,达到 93%。

这里有两个更有趣的“过山车”图。

j 克

更新 1 - 链接速度

我尝试禁用远程计算机上的 Wifi 适配器。(Wifi 适配器已经在本地计算机上被禁用。)我认为这就是 Timtech 评论的意思。我有同样的想法 - 同时启用有线和无线适配器将有线适配器的吞吐量限制在 Wifi 适配器的级别(适应最慢的适配器以实现兼容性)。因为 Wifi 适配器(在本例中为 DWA-160 Wireless N)通常被 Vista 计算机检测为“52 Mbps”-“104 Mbps”链接。

在以下屏幕截图中,远程计算机设置为服务器,本地计算机设置为客户端 (192.168.100.152 <- 192.168.100.151)。

升

但是断开远程计算机上的 Wifi 适配器并没有帮助我的有线连接吞吐量低。

不仅!在远程计算机上的 Windows 任务管理器中,有线适配器 (LAN 1) 的链接速度显示为“1 Gbps”。如果您参考上面的屏幕截图,您可以看到它在本地计算机上被检测为“500 Gbps”链接。因此,对于相同的有线连接,Windows Vista 说它是 1 Gbps 链接,而同时,Windows 8.1 Pro 说它是 500 Gbps 链接……那么哪个是正确的?

这是我将远程计算机设置为客户端并将本地计算机设置为服务器时在远程计算机上的样子 (192.168.100.152 -> 192.168.100.151)。

米

正如您在此处看到的,大约 95% 的 1 Gbps 链路正在被利用。这转化为 950 Mbps。这正是我在上面的测试中得到的。但反过来说是完全不同的故事。

更新 2 - 双工和 MDI-X

正如你们中的一些人所建议的,我查看了双工设置。本地和远程计算机都设置为自动协商模式,如下面的屏幕截图所示。

n ○

我尝试在两台计算机上更改为“1.0 Gbps 全双工”。然后,我使用 Iperf 进行了与之前相同类型的测试。使用本地计算机作为服务器和远程计算机作为客户端,我的最大速度约为 950 Mbps。使用本地计算机作为客户端和远程计算机作为服务器,我得到大约 360 Mbps。

在这里,看看这些屏幕截图。

磷 q

你在这里看到的是我在两台计算机之间上传和下载时的图表。较高的图(95 - 98% 利用率)是本地到远程(上游 192.168.100.152 -> 192.168.100.151)。下图(约 33% 的利用率)是本地远程(下游 192.168.100.152 <- 192.168.100.151)。

为了排除任何 Auto MDI-X 问题,我将其中一个交叉适配器连接到电缆的一端(本地计算机)。

r

那肯定会使电缆成为交叉电缆。见鬼,我什至用网络测试仪对其进行了测试!现在确实被交叉了(引脚 1/3、2/6)!

所以现在我在两台计算机之间有了真正的交叉电缆连接,并且我已经手动设置了“1.0 Gbps 全双工”。然而我仍然有同样的问题。还有更多想法吗?除了升级Vista电脑(或者重装8.1电脑)?

更新 3 - 软件或硬件限制?

我最好的猜测是我有两个互不兼容的操作系统。它们都是 Windows 系统,但并非所有的 Windows 系统都是平等的。我将不得不尝试在两者上使用 Vista,或在两者上使用 8.1 Pro,看看我得到什么样的吞吐量。这意味着购买升级。该死的微软。

顺便说一下,两台计算机都是定制的。这是一些规格。

Local
-----
Gigabyte GA-EP45-UD3R
Intel Core 2 Quad Q9650
Intel P45
Corsair XMS2 DHX TwinX DDR2 PC6400/800MHz 4 GB
Realtek 8111C chips (10/100/1000 Mbit)
WD Caviar Black WD1002FAEX
Windows 8.1 Pro 64-bit

Remote
------
Gigabyte GA-X38-DQ6
Intel Core 2 Duo E4500
Intel X38
Corsair XMS2 DHX TwinX DDR2 PC6400/800MHz 4 GB
Dual Realtek 8111B chip (10/100/1000 Mbit)
WD Caviar Black WD1002FAEX
Windows Vista Ultimate 64-bit
Run Code Online (Sandbox Code Playgroud)

托尼建议Vista 机器可能使用了坏的Realtek 芯片。所以我挖掘了这些规格。我现在看到Vista机器使用8111的B版本,而本地机器使用相同芯片的C版本。这有什么意义吗?它们都由制造商明确指定为 1000 Mbit(见上文)。难道 8111B 的性能差那么多(360 Mbps)?

这些特定的驱动器达到 107 MB/s 的突发速率。这正是我在本地计算机上的测试中看到的数字。但即使持续的顺序或随机读/写可能 55 MB/s 也不能转换为 360 Mbps。那应该给我大约 440 Mbps 的速度,而不是我得到的 360 Mbps。所以我不怀疑这是瓶颈,特别是因为它们都使用相同的驱动器模型。此外,文件复制操作是一回事,但 Iperf 根本不使用磁盘,它只使用 RAM 内存进行测试。

更新 4 - TCP 校验和卸载

正如托尼所建议的,我尝试关闭 TCP 校验和卸载(对于 IPv4 和 IPv6)。

秒 吨

我还将两台计算机的“速度和双工”切换回自动。但这没有帮助。我仍然有一个方向的低吞吐量,而另一个方向的高吞吐量。

更新 5 - 新驱动程序版本

我尝试将本地和远程的驱动程序版本更新为从技嘉网站和 Realtek 网站下载的最新版本。

Update path...

On local (RTL8111C):
8.1.510.2013 (2013-05-10, Microsoft)
8.20.815.2013 (2013-08-15, Realtek)

On remote (RTL8111B):
6.241.623.2010 (2010-06-23, Realtek)
6.250.908.2011 (2011-09-08, Realtek)
6.252.1109.2012 (2012-11-09, Realtek)
Run Code Online (Sandbox Code Playgroud)

你 v 瓦 X

我仍然在一个方向上获得了同样糟糕的吞吐量。

更新 6 - CPU 利用率

我检查了 CPU 利用率。这应该不是问题。这是我的发现。

On local...

Download: 4 - 10 %
Upload:   4 - 10 %
Idle:     0 -  4 %

On remote...

Download: 24 - 38 %
Upload:   10 - 25 %
Idle:      1 -  6 %
Run Code Online (Sandbox Code Playgroud)

本地(下载、上传、空闲)...

是 z aa

远程(下载、上传、空闲)...

AB 交流电 广告

遥控器使用更多的 CPU 功率,但这也是 Core 2 Duo 速度较慢的遥控器。但在我的测试中,它从未超过 38% 的点。这里特别有趣的是,它在下载(本地 -> 远程)时比在上传(本地 <- 远程)时使用更多的 CPU 能力。

因此,当吞吐量为 950 Mbps 时,它使用 38%,而在 360 Mbps 时,它使用 25%。此外,内核利用率不均衡,它使用一个内核比另一个内核多。我不确定从中得出什么结论。本地计算机没有显示核心利用率,所以我无法比较。但 CPU 利用率甚至在本地计算机上(下载/上传时为 10%)。

更新 7 - 新的英特尔千兆网络适配器

我现在已经安装了一个全新的 Intel PCI-Express Gigabit 网络适配器,作为远程​​计算机上内置 Realtek RTL8111B 的替代品,据说上传速度太慢。Intel 适配器的产品编号为 EXPI9301CT。根据我读过的评论,这个适配器应该非常好。我只是想排除这可能是瓶颈。

ae

我现在已经用 Iperf for Windows 做了一些测试,下面是结果。

本地(下载、上传)...

AF 银

远程(下载、上传)...

啊 爱

平均而言,这个适配器实际上比 Realtek 适配器慢一点。我认为它的开销比 Realtek 小,因此连续吞吐量更稳定。但是我仍然只能在一个方向上获得大约 360 Mbps 的速度,而在另一个方向上获得 950 Mbps,即使使用了这个英特尔适配器。

local: 192.168.100.152 (win 8, realtek 8111c)
remote: 192.168.100.154 (vista, intel desktop ct)

192.168.100.152 -> 192.168.100.154    113 MB/s
192.168.100.152 -> 192.168.100.154    104 MB/s
192.168.100.152 -> 192.168.100.154    103 MB/s
192.168.100.152 -> 192.168.100.154    104 MB/s
192.168.100.152 -> 192.168.100.154    102 MB/s
192.168.100.152 -> 192.168.100.154    104 MB/s
192.168.100.152 -> 192.168.100.154    101 MB/s
192.168.100.152 -> 192.168.100.154    102 MB/s
192.168.100.152 -> 192.168.100.154    101 MB/s
192.168.100.152 -> 192.168.100.154    104 MB/s
----------------------------------------------
Max: 113 MB/s    Min: 101 MB/s    Avg: 103.8 MB/s

192.168.100.152 <- 192.168.100.154    42.2 MB/s
192.168.100.152 <- 192.168.100.154    41.2 MB/s
192.168.100.152 <- 192.168.100.154    41.1 MB/s
192.168.100.152 <- 192.168.100.154    43.0 MB/s
192.168.100.152 <- 192.168.100.154    42.3 MB/s
192.168.100.152 <- 192.168.100.154    42.3 MB/s
192.168.100.152 <- 192.168.100.154    40.2 MB/s
192.168.100.152 <- 192.168.100.154    40.9 MB/s
192.168.100.152 <- 192.168.100.154    41.3 MB/s
192.168.100.152 <- 192.168.100.154    42.0 MB/s
-----------------------------------------------
Max: 43.0 MB/s    Min: 40.2 MB/s    Avg: 41.65 MB/s
Run Code Online (Sandbox Code Playgroud)

我不知道为什么它在本地到远程的第一次测试运行中达到 113 MB/s 的峰值。它在整个测试运行过程中保持该速度,图表几乎持平,为 113 MB/s。和以前一样,我每次运行都使用 60 秒的间隔。然而,在下一次运行时,它下降到 104 MB/s。

从这些值可以看出,我使用此 Intel 适配器的吞吐量与使用内置 Realtek 适配器的吞吐量相同。所以我认为可以肯定地说它与适配器本身无关。因此,我们可以停止将 RTL8111B 归咎于比其他主板上的 RTL8111C 低劣/较小的芯片。这看起来越来越像一个软件/操作系统/配置问题,或者同时出现这三个问题。

更新 8 - 使用 Ubuntu LINUX 的出色结果

在用尽所有其他选项之后,我最终决定用 Linux 运行一些测试,并且得到了很好的结果。我在本地和远程机器上使用了 Ubuntu Linux 13.10 Live 系统和 Iperf for Linux(版本 2.0.5-3)。这是结果。

=======================================================
REALTEK 8111C <-> REALTEK 8111B | IPERF ON UBUNTU LINUX
=======================================================

local: 192.168.100.152
remote: 192.168.100.151

192.168.100.152 -> 192.168.100.151    112 MB/s
192.168.100.152 -> 192.168.100.151    112 MB/s
192.168.100.152 -> 192.168.100.151    112 MB/s
192.168.100.152 -> 192.168.100.151    112 MB/s
192.168.100.152 -> 192.168.100.151    112 MB/s
192.168.100.152 -> 192.168.100.151    112 MB/s
192.168.100.152 -> 192.168.100.151    112 MB/s
192.168.100.152 -> 192.168.100.151    112 MB/s
192.168.100.152 -> 192.168.100.151    112 MB/s
192.168.100.152 -> 192.168.100.151    112 MB/s
----------------------------------------------
Max: 112 MB/s    Min: 112 MB/s    Avg: 112 MB/s

192.168.100.152 <- 192.168.100.151    110 MB/s
192.168.100.152 <- 192.168.100.151    111 MB/s
192.168.100.152 <- 192.168.100.151    111 MB/s
192.168.100.152 <- 192.168.100.151    111 MB/s
192.168.100.152 <- 192.168.100.151    111 MB/s
192.168.100.152 <- 192.168.100.151    110 MB/s
192.168.100.152 <- 192.168.100.151    111 MB/s
192.168.100.152 <- 192.168.100.151    111 MB/s
192.168.100.152 <- 192.168.100.151    111 MB/s
192.168.100.152 <- 192.168.100.151    111 MB/s
----------------------------------------------
Max: 111 MB/s    Min: 110 MB/s    Avg: 110.8 MB/s
Run Code Online (Sandbox Code Playgroud)

本地(下载、上传、空闲)...

aj 啊 阿尔 是 一个

如您所见,在使用 Ubuntu 时,我在两个方向上都获得了相同的吞吐量。是因为我在两台机器上使用相同的操作系统,还是其他原因?如果我在两台机器上设置了相同的 Windows 版本,我会得到相同的吞吐量吗?我不明白为什么我在一台机器上使用稍微过时的 Windows 版本(即 Vista)而在另一台机器上使用最新版本会很重要吗?...我的意思是 Vista 仍然是当前支持的操作系统,并由 Microsoft 提供支持. Windows XP 是另一回事。

但我知道他们正在尽其所能杀死 Vista。例如,Windows Vista 故意不支持最新的 Office 2013。我确信微软希望 Vista 永远不会发生。就像他们希望 Windows 8.0 从未发生过一样。但我通常和他们一样坚持不懈,除非绝对必要,否则我不会升级我的 Windows 安装。

所以问题是如何使用两个不同的 Windows 版本在两个方向上获得相同的吞吐量。Windows Vista 应该能够达到千兆速度——它不是一个有 20 年历史的操作系统或其他东西,它不是我们正在谈论的 Windows 95。Vista 是一个现代操作系统。我还没有测试过在两台机器上运行相同的 Windows 版本。TCP 实现或两个操作系统版本之间可能存在差异。如果是这样,那么我可能会被迫升级Vista机器。要么,要么切换到Linux。我不准备花更少的钱花更多的钱。为什么我必须升级 Windows 才能在两个方向上获得千兆吞吐量?...

更新 9...

电缆

我试着倒转电缆。我得到了和以前一样的结果。我还得到了一条新的 Cat 6 跳线并尝试了它。吞吐量测试结果相同。所以电缆不是这里的问题。我只使用了预先端接/模制的跳线。所以接线应该是正确的。但我打算稍后终止我自己的安装电缆。

FW 和 AV

至于防火墙(FW)和防病毒(AV),我不使用任何第三方的 FW 或 AV 软件。我只有 Windows 防火墙和 Security Essentials。我在两台机器上都禁用了它们。吞吐量测试结果与之前相同。

敖 应用程序

水 ar 作为

局域网速度测试

我已经在本地机器上安装了 LAN Speed Test Lite 1.3。我相信测试是在本地内存和远程机器上的磁盘驱动器之间进行的。我不知道。但它要求远程机器上的共享路径。我在遥控器上使用了 o$ share。

在 au 影音

Upload: 427 Mbps
Download: 420 Mbps
Run Code Online (Sandbox Code Playgroud)

我不太相信这些结果。如果您查看图表,您会发现它在整个测试过程中变化很大。测试为“连续”测试,即:先写(上传)测试,再读(下载)测试。显然,如果您同时进行上传/下载测试,整体吞吐量将会降低。但我对这样的测试不感兴趣。到目前为止,我只在 Windows(文件共享/smb)和 Iperf 中对文件传输测试进行了“连续”测试。

我没有使用 LAN Speed Test 进行任何内存到内存测试,因为它需要在远程使用名为 LST Server 的程序,并且该程序需要注册才能使用它。

更新 10...

磁盘驱动器测试

我使用 Crystal Disk Mark 3.0.3 来测试磁盘驱动器。这是结果。

Local disk: 118 MB/s read, 113 MB/s write
Remote disk: 70 MB/s read, 69 MB/s write
Run Code Online (Sandbox Code Playgroud)

这些是基于 5 次运行和 1000 MB 负载的顺序读取和写入速度。

这是本地磁盘(磁盘标记,读取,写入)...

啊 斧头 哎

这是远程磁盘...

阿兹

但我不明白……这些结果似乎相互矛盾。

好的,本地磁盘可以以 118 MB/s 的速度读取,因此允许报告的上传速度约为 100 MB/s。但是如果远程磁盘只有 69 MB/s 的写入能力,它就无法接收它。但是通过一些神奇的转折,我的平均上传速度仍然略高于 100 MB/s。

反过来说更有意义。如果远程磁盘的读取速度为 70 MB/s,本地磁盘的写入速度为 113 MB/s,那么下载速度不应超过 70 MB/s。我的平均下载速度约为 40 MB/s。这似乎很合理。

所以我不能从这些结果中得出任何结论。我的意思是本地计算机上的磁盘驱动器几乎没有使用。它也是保存操作系统的磁盘,并且它是该系统上唯一的分区。而远程磁盘几乎满了,并且它也被分区了几个分区。但是,它不用于操作系统。我O:在这里选择驱动器号进行测试,因为这是可用空间最多的分区。

(请注意,我C:在之前的测试中使用了驱动器号,该驱动器位于一个完全独立的 Seagate 磁盘驱动器上,该磁盘驱动器在远程机器上装有操作系统。因此这些读数没有可比性。)

写缓存

启用磁盘写入缓存后,我得到了这些结果。

Local to remote: 106 MB/s
Remote to local: 42.2 MB/s
Run Code Online (Sandbox Code Playgroud)

然后我在远程和本地驱动器上的所有驱动器上禁用了写缓存。

巴 bb

我没有重新启动,因为没有要求重新启动以使更改生效。然后我得到了以下结果。

Local to remote: 106 MB/s
Remote to local: 42.1 MB/s
Run Code Online (Sandbox Code Playgroud)

几乎没有任何变化。没有重新启动,也没有请求重新启动。

QoS数据包

然后我继续为远程机器上的适当适配器禁用 QOS 数据包调度程序,然后在本地机器上。

公元前 BD

Local to remote: 107 MB/s
Remote to local: 41.9 MB/s
Run Code Online (Sandbox Code Playgroud)

这里没有显着变化。同样,没有重新启动,也没有请求重新启动。

巨型数据包

然后我继续启用我使用 4 GB 设置的巨型数据包,因为 4 KB 是两台机器都支持的最大 MTU 大小。

是

ewh*_*hac 6

根据您的回复:

@ewhac 本地机器上的 TCP 窗口大小通常与远程机器上的窗口大小不同。默认值在本地 (win 8) 上为 0.06 MB,在远程 (vista) 上为 0.01 MB。它们必须是相同的值吗?我如何要求它猜测 MSS?那会是 -m 开关(“打印最大段大小”)吗?我通常不会设置任何这些。为什么我必须这样做?– 萨米 11 月 30 日 21:39

TCP 窗口大小表示 TCP 堆栈在停止并等待接收来自远程机器的确认之前将向线路盲注的最大数据量——换句话说,线路上未确认流量的最大数量。Vista 机器上的 TCP 窗口比 Windows Se7en 机器上的小得多这一事实支持这样一种理论,即您在停止和等待 ACK 之前没有填充足够的管道。

因此,我会尝试的第一件事是使用-w参数增加 Vista 机器上的 TCP 窗口大小。0.01MB 是一个有点无用的单位;我猜它是 16KiB。所以从 16KiB 开始并运行一个测试:

iperf -c -w 16K ...
Run Code Online (Sandbox Code Playgroud)

将窗口大小加倍并重复测试:

iperf -c -w 32K ...
Run Code Online (Sandbox Code Playgroud)

希望您应该观察到速度的增加。继续将窗口大小加倍,直到您不再看到显着的速度增加。


小智 5

如前所述,您需要修改 iperf 中的 TCP 窗口大小,以便在低延迟高速链接上获得更高的吞吐量。不同版本的 Windows(或 iPerf)可能有不同的默认窗口大小。尝试“-w 256K”开始与两个客户端和服务器。

你能确认图表的箭头方向吗?在 iPerf 中,数据客户端推送到服务器(与我通常认为的相反)。

您可以排除硬盘驱动器的原因,因为 iPerf 不接触硬盘驱动器。

我想您已经确认您正在运行最新的 NIC 驱动程序。无需手动设置速度/双工。与巨型帧相同——它们不值得现代硬件的麻烦。

验证是否在两个 NIC 上都启用了大型发送卸载 (LSO) 和大型接收卸载 (LRO)。某些 NIC 驱动程序使用不同的名称(或控制此行为的多个选项),因此您可能需要四处寻找。通常默认设置是全部启用。


Pet*_*erJ 3

我认为您需要更多地了解 iperf 的工作原理。如果您没有设置正确的 tcp 窗口大小,您的结果将会有很大差异。我相信它是 -w 开关。该网站将协助计算最佳 TCP 窗口大小。您需要知道 RTT 和带宽才能计算它。http://www.kehlet.cx/docs/tcpwin.php

还可以尝试其他工具,例如“LAN Speed test”lite,它只会在两端的共享之间进行上下传输。在我用它进行的测试中,它的结果非常接近。还要确保检查您的硬盘驱动器最大读写速度是多少。