当我发现整个网络速度都下降时,我正在诊断我的 SMB 性能问题。以下是我的台式机和 Linux 服务器之间的基准测试结果:
两者均使用 CAT6 连接并具有千兆网络。
~$ iperf -c 192.168.2.10 -r
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.2.10, TCP port 5001
TCP window size: 110 KByte (default)
------------------------------------------------------------
[ 5] local 192.168.2.2 port 54320 connected with 192.168.2.10 port 5001
[ ID] Interval Transfer Bandwidth
[ 5] 0.0-10.0 sec 114 MBytes 95.2 Mbits/sec
[ 4] local 192.168.2.2 port 5001 connected with 192.168.2.10 port 49719
[ 4] 0.0-10.0 sec 532 MBytes 446 Mbits/sec
因此,从我的桌面到我的服务器的速度为 446 Mb/s,而从我的服务器到我的桌面的速度不超过 95 Mb/s,其中两个值都应该(接近)1000 Mb/s。
我记得当我还在运行 Windows 7 时,两个方向的速度都超过 900 Mb/s。
我已经尝试了各种各样的方法,比如关闭 NIC 驱动程序中的不同卸载功能、从 Realtek 手动下载最新的 NIC 驱动程序以及使用 禁用自动调整netsh interface tcp set global autotuning=disabled
。
编辑:
我在交换机之间使用 iperf 进行了一些广泛的测试,例如在我的 Linux 服务器(LARS-ILLIUM)和我的台式机(LARS-VIGIL)之间。LARS-FEROS 和 LARS-RANNOCH 都是交换机,连接如下:
LARS-ILLIUM <---> LARS-FEROS <---> LARS-RANNOCH <---> LARS-VIGIL
当然还有其他设备连接到交换机,但这是 LARS-ILLIUM 和 LARS-VIGIL 之间的路径。
我制作了 iperf 结果表:
http://prntscr.com/39r0eh
我想这个表格是相当不言自明的,但前三行从左到右是测试结果,而后三行则反过来。顺便说一下,所有测试都是 UDP。完整命令:iperf -c 192.168.2.x -u -b 1000M
现在我知道问题不仅限于我的台式机 LARS-VIGIL,还发生在我的 LAN 的其余部分。但仍然不知道发生了什么...
答案1
我找到了答案。iperf 结果奇怪的原因是,我测试的每个系统都有不同的默认 TCP 窗口和 UDP 缓冲区大小。使用 -w 选项手动设置这些后,我得到了一致的结果:
C:\Users\Lars Veldscholte\Downloads\iperf>iperf -c 192.168.2.2 -w 416k -r
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 416 KByte
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.2.2, TCP port 5001
TCP window size: 416 KByte
------------------------------------------------------------
[ 4] local 192.168.2.10 port 55803 connected with 192.168.2.2 port 5001
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 1003 MBytes 841 Mbits/sec
[ 4] local 192.168.2.10 port 5001 connected with 192.168.2.2 port 45938
[ 4] 0.0-10.0 sec 863 MBytes 724 Mbits/sec
至少,在我的服务器(LARS-ILLIUM)和我的桌面(LARS-VIGIL)之间。在两者之间的交换机上测试仍然会产生奇怪的结果:
C:\Users\Lars Veldscholte\Downloads\iperf>iperf -c 192.168.2.1 -w 320k -r
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 320 KByte
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.2.1, TCP port 5001
TCP window size: 320 KByte
------------------------------------------------------------
[ 4] local 192.168.2.10 port 55833 connected with 192.168.2.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.3 sec 9.12 MBytes 7.43 Mbits/sec
[ 4] local 192.168.2.10 port 5001 connected with 192.168.2.1 port 55335
[ 4] 0.0-10.4 sec 5.00 MBytes 4.01 Mbits/sec
我不知道那是怎么回事。