Я наблюдаю очень противоречивый эффект в настройке моей сети.
У меня есть сеть с тремя устройствами (назовем их сервер, ноутбук и неттоп, все работают под управлением Linux, подробности ниже) подключены к коммутатору Gigabit Ethernet.
Я измеряю пропускную способность сети (а), передавая файл из сервер к ноутбук с помощью scp
и (б) использование iperf -s
на сервер и iperf -c
на ноутбук.
Когда я выполняю тест пропускной способности, когда все три устройства включены и работают, я получаю нормальную производительность примерно 40 МБ / с (SSH) или 280 Мбит / с (iperf).
Однако как только я выключить в неттоп который вообще не участвует в процессе измерения, я получаю паршивую производительность примерно 3,5 МБ / с (SSH) или 58 Мбит / с (iperf).
Если бы было наоборот, я бы попытался выяснить, не неттоп каким-то образом мешает передаче. Но то, что производительность капли на порядок, когда я его выключаю, меня озадачивает.
Такое поведение прекрасно воспроизводимо. Как только неттоп становится доступным для пинга, производительность сразу же возрастает. Как только он выключен, производительность падает.
Я попытался отключить питание коммутатора на минуту и безрезультатно перебирал порты Ethernet на коммутаторе.
Итак, мой вопрос: что могло бы вызвать эффект, свидетелем которого я являюсь? Куда мне обратиться, чтобы сузить причину проблемы?
Сервер имеет два дополнительных сетевых интерфейса, один из которых подключен к кабельному модему, а другой - к маршрутизатору Wi-Fi.
На сервере работает DHCP-сервер, с которого неттоп и ноутбук получают свои адреса. Он также запускает множество других сервисов, включая KVM с двумя виртуальными машинами.
Все устройства находятся в 10.2.3.0/24
сеть. Сервер имеет 10.2.3.1
, ноутбук 10.2.3.37
, неттоп 10.2.3.42
. Интерфейс сервера, подключенный к Wi-Fi, имеет 10.2.4.1/24
. Ни у неттопа, ни у ноутбука не включен Wi-Fi адаптер.
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
Точно так же, как и предположил mfarver: мой переключатель сломан. Я заменил его на новый (на этот раз Cisco SG-200-08), и теперь все работает как шарм, независимо от того, какие дополнительные устройства подключены, а какие нет.
Однако, как только я выключаю неттоп, который вообще не участвует в процессе измерения, я получаю ужасную производительность примерно 3,5 МБ / с (SSH) или 58 Мбит / с (iperf).
Это убедительно указывает на то, что коммутатор (который не является так себе образцом без бренда) понижает всю объединительную плату до 100 Мбит, когда вы Отключить неттоп.
Согласен, это хуже, чем странно - это недопустимо.
Но вот оно.