我在我的网络设置中看到了非常违反直觉的效果。
我有一个包含三台设备的网络设置(我们称它们为服务器,笔记本电脑和上网本,均运行 Linux,详情如下)连接到千兆以太网交换机。
我通过从服务器到笔记本电脑使用scp
和(b)iperf -s
使用服务器以及iperf -c
笔记本电脑。
当我在所有三个设备均启动并运行时执行吞吐量测试时,我获得了大约 40 MB/s(SSH)或 280 Mbits/s(iperf)的良好性能。
然而,当我关这上网本它根本不参与测量过程,我得到的性能很差,大约为 3.5 MB/s(SSH)或 58 Mbits/s(iperf)。
如果情况相反,我会尝试找出上网本在某种程度上干扰了传输。但事实上,滴当我将其关闭时,它的数量级让我感到困惑。
这种行为是完全可重现的。上网本一旦可以 ping 通,性能就会立即上升。一旦关闭,性能就会下降。
我尝试切断交换机的电源一分钟,并调整交换机上的以太网端口,但没有任何效果。
所以我的问题是:是什么原因导致了我所看到的结果?我应该在哪里查找以缩小问题原因的范围?
设置详情
上网本
- 富士康 nT-330i、英特尔凌动 330
- 内置 Atheros AR8131 千兆以太网控制器
- Ubuntu 10.04(lucid),内核 2.6.32-29,amd64
笔记本电脑
- ThinkPad R61,英特尔酷睿2双核T8300
- 内置Broadcom BCM5787M千兆以太网控制器
- Ubuntu 11.10(oneiric),内核 3.0.0-16,amd64
服务器
- AMD 速龙 64 X2
- Intel 82574L 千兆以太网控制器 (e1000e)
- Debian 6.0.4 (squeeze),内核 2.6.32-5,amd64
转变
- Level One GSW-0806 8 端口千兆交换机
该服务器有两个额外的网络接口,一个连接到电缆调制解调器,另一个连接到 wifi 路由器。
该服务器运行 DHCP 服务器,上网本和笔记本电脑从该服务器获取地址。它还运行许多其他服务,包括运行两个虚拟机的 KVM。
IP 寻址
所有设备都在10.2.3.0/24
网络中。服务器有10.2.3.1
、笔记本电脑10.2.3.37
、上网本10.2.3.42
。连接到 Wifi 的服务器接口有10.2.4.1/24
。上网本和笔记本电脑的 wifi 适配器均未启用。
ethtool 输出
ethtool
显示以下适配器设置。这些输出不受关闭和打开上网本。
在服务器上:
# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: on
Supports Wake-on: pumbag
Wake-on: g
Current message level: 0x00000001 (1)
Link detected: yes
在笔记本电脑上:
# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Supports Wake-on: g
Wake-on: g
Current message level: 0x000000ff (255)
drv probe link timer ifdown ifup rx_err tx_err
Link detected: yes
答案1
然而,一旦我关闭完全不参与测量过程的网络机顶盒,我就会得到糟糕的性能,大约 3.5 MB/s(SSH)或 58 Mbits/s(iperf)。
这强烈表明,当您断开上网本。
我同意这比奇怪更糟糕——这是不可接受的。
但是你现在有了。
答案2
正如 mfarver 所说:我的交换机坏了。我换了一个新的(这次是 Cisco SG-200-08),现在一切都运行正常,无论连接了哪些附加设备,哪些没有连接。