Вопрос или проблема
Настройка:
Debian Bookworm на HP G4 800 SFF
внутренний i219 Gbe
X710-T4L 4x10GBaseT (pcie 8GT x8)
Realtek 2.5Gbps 2×2.5GBaseT
e810 2x25G SFP28
Тестирование маршрутизации на обычных nft и brctl, NAT домашнего роутера, каким-то образом при использовании двух портов x710 для входа и выхода из роутера скорость очень низкая:
При подключении только X710:
порт 1 подключен к 1Gbps LAN с интернетом
порт 2 подключен к 2.5Gbps ноутбуку, настроен как мост со всеми другими портами, кроме порта 1
iperf3 от интернета до ноутбука (через порт 1 -> маршрутизация -> порт 2) -> около 0.05Gbps -> плохо
iperf3 от интернета до роутера (через порт 1) -> около 1Gbps
iperf3 от роутера до ноутбука (через порт 2.5), одновременно с вышеупомянутым -> около 2.5Gbps -> все хорошо
перемещение подключения ноутбука на порт realtek или i219 (тот же мост br0), оставив подключение LAN на x710
iperf3 от интернета до ноутбука (через x710 порт 1 -> маршрутизация -> realtek порт 1) -> около 1Gbps -> все хорошо
-> Это не может быть x710, каким-то образом не работающим с несколькими портами, пропускная способность есть при использовании двух iperf3 одновременно с тем же потоком в том же направлении.
-> Это не может быть проблема с правилами маршрутизации, так как пропускная способность есть при использовании x710 и другой карты
Я не вижу потерянных пакетов в ethtool или повтора tcp в netstat.
Нагрузка на процессор незначительная.
В чем может быть проблема?
Ответ или решение
Теория
В современном сетевом оборудовании, таком как Intel X710-T4L, существует множество параметров и факторов, которые могут повлиять на скорость передачи данных. X710-T4L — это высокоскоростная сеть на базе Ethernet, поддерживающая подключение до 10 Гбит/с через порты 10GBase-T. Медленная работа при маршрутизации между портами может быть вызвана множеством факторов, как аппаратных, так и программных.
Некоторые ключевые моменты, которые необходимо учесть:
-
Конфигурация сети: Правильная настройка бриджа (bridge) и правил маршрутизации. Использование
nftables
иbrctl
предполагает определенную конфигурацию правил, что может повлиять на производительность. -
Аппаратные особенности: Использование разных сетевых карт (включая Realtek и внутреннюю i219) и их взаимодействие может вызывать проблемы совместимости или оптимизации.
-
Перекрестная инспекция и оптимизация драйверов: Драйверы для сетевых карт могут содержать ошибки или недостатки, которые приводят к сниженной производительности.
-
Сетевые параметры, такие как MTU: Неправильный размер MTU (Maximum Transmission Unit) может вызывать фрагментацию пакетов и снижение производительности.
Пример
Рассмотрим ваше текущее положение: у вас есть маршрутизатор на Debian Bookworm с несколькими сетевыми картами, и вы видите заметную разницу в производительности при маршрутизации через разные порты X710-T4L.
Вы указали, что:
- Порт 1 X710 связан с 1 Гбит/с сетью, а порт 2 – с ноутбуком на 2.5 Гбит/с.
- При тестировании
iperf3
через X710, скорость составляет около 0.05 Гбит/с. - В тоже время, тест через отдельные сетевые карты показал корректную пропускную способность (1 Гбит/с от интернета на маршрутизатор и 2.5 Гбит/с от маршрутизатора на ноутбук через Realtek или i219).
Нет потерь пакетов, низкая загрузка процессора, что исключает некоторые аппаратные или ресурсоемкие проблемы.
Применение
Для решения вашей проблемы рекомендуется предпринять следующие шаги:
-
Проверка и обновление драйверов: Убедитесь, что использованы последние версии драйверов для Intel X710, совместимые с вашим ядром Linux. В Debian Bookworm это особенно актуально из-за недавних изменений в ядре.
-
Тестирование без бриджа: Временно отключите использование
brctl
и протестируйте скорость без бриджа, только сnftables
. Это позволит выявить, влияет ли бридж на производительность. -
Оптимизация параметров MTU: Проверьте размеры MTU для используемых интерфейсов. Увеличьте MTU до 9000 (если поддерживается) для всех задействованных интерфейсов и измерьте изменения в производительности.
-
Анализ сетевого стека: Используйте утилиты, такие как
tcpdump
иwireshark
, чтобы проанализировать сетевой трафик и выявить возможные проблемы на уровне пакетов (например, повышенное количество перепосылок или задержки). -
Тестирование в разных режимах: Попробуйте использовать разные режимы работы карты (например, через опцию ДАЛЬТЕЛ) и проверьте, как это влияет на скорость передачи.
-
Проверка прошивки сетевой карты: Убедитесь, что у X710-T4L нет обновлений прошивки, так как это может улучшить работу системы.
Таким образом, вы сможете детальнее понять, где находится проблема, и минимизировать узкие места в маршрутизации через порты X710. Полученные результаты помогут сделать окончательные выводы о причине замедления и подобрать оптимальное решение.