
У меня есть распределенное приложение, которое пропускает большой объем трафика между несколькими машинами. В настоящее время эти машины совместно используют гигабитную сеть с остальными машинами в стойке, и я начинаю замечать проблемы (конфликты пакетов). Размышляя над решениями, я наткнулся на обсуждение jumbo-кадров, которые определенно решили бы мою проблему, если бы работали так, как заявлено. Но...
Серверы, которые я использую для распределенного приложения (это тип веб-сканера), также нуждаются в доступе к Интернету, и все, что я читал о кадрах большого размера, предупреждает, что для его хорошей работыкаждое устройствоподключенный к сети должен поддерживать jumbo-фрейм. Мой маршрутизатор может прекрасно справиться с разделением jumbo-пакетов перед передачей, но это невероятно замедлит работу.
На всех моих серверах по две сетевые карты. Могу ли я настроить частную сеть для распределенного приложения, убедившись, что все первые сетевые карты машин настроены на jumbo-фреймы, и использовать вторую карту на этих машинах (с выключенными jumbo-фреймами) для подключения к остальной части моей сети и к внешнему миру? Я думаю, что большой трафик внутри подсистемы краулера будет изолирован от остальной сети, включая интернет-трафик, а использование jumbo-фреймов улучшит скорость связи.
Все машины представляют собой серверы Dell PowerEdge 1950 под управлением Windows 2008. Я знаю, что сетевые адаптеры Broadcom GigE серверов PE поддерживают большие кадры, но можно ли настроить один с большими кадрами, а другой — без них?
Наконец, как мне убедиться, что я получаю коммутатор, который поддерживает jumbo frame? Мы используем коммутаторы TP-Link, которые, похоже, работают хорошо в настоящее время, но я не могу найти никакой информации о том, поддерживают ли они jumbo frame.
Я знаю, что у меня много вопросов. То, что я рассматриваю, звучит разумно?
решение1
При этом убедитесь, что ваши сетевые карты существуют в отдельных сетевых блоках. Если вы используете Linux, пакеты маршрутизируются через первую сетевую карту в системе в сетевом блоке, поэтому, даже если у eth1 MTU 9000, он может в конечном итоге направить эти пакеты через eth0.
Мы настроили отдельную VLAN для нашей сети хранения данных и должны были настроить отдельный сетевой блок на eth1, чтобы избежать этого поведения. Увеличение MTU до 9000 легко увеличило пропускную способность, поскольку эта конкретная система имеет дело с потоковой передачей ряда довольно больших файлов.
решение2
Это должно быть вполне осуществимо. Серверные сетевые карты в Windows могут иметь разные настройки MTU для каждого интерфейса. В противном случае iSCSI, обычный драйвер больших кадров, не получил бы того распространения, которое он имел.
решение3
Возвращаясь на мгновение назад, в полнодуплексной коммутируемой среде вы не должны сталкиваться с коллизиями. Я бы исследовал причину коллизий, прежде чем заходить так далеко по пути больших кадров.
При этом отдельные устройства должны согласовывать свои размеры MTU друг с другом. Поэтому вам не придется включать его для всех устройств.