Вопрос или проблема
Я использую полузащитный ноутбук Getac с установленной Ubuntu 22.04. Когда я запускаю приложение Iperf, оно достигает 900 Мбит/с, но когда я запускаю свое простое приложение клиент-сервер по TCP, оно не достигает 80 Мбит/с, останавливаясь только на 40 Мбит/с.
Подробности приложения: 2 экземпляра клиентских приложений TCP, работающих с разными портами и подключающихся к 2 различным аппаратным TCP-серверам, каждый отправляет 1024 пакета запроса и получает 4338 пакетов ответа от оборудования. Когда я запускаю эти приложения на ноутбуке, я не достигаю ожидаемой скорости.
Но когда я запускаю простое клиент-серверное приложение, оно достигает скорости до 800 Мбит/с.
Я проверил все jumbo frames, размеры буферов и т. д.
То же приложение работает на других ноутбуках с такой же версией ОС.
Ноутбук, с которым я сталкиваюсь с проблемой, имеет Ethernet-карту на базе Intel. У этого же ноутбука также есть USB-основанная Ethernet-карта, и на этой USB- Ethernet мое приложение работает.
Итак, проблема в карте или ОС? Какие настройки конфигурации Ethernet мне нужно проверить?
Здесь я прикрепляю детали ОС и ноутбука, ноутбук Lenovo работает. Ноутбук S410 Getac, PCI-карта не работает, но USB- Ethernet работает.
введите описание изображения здесь
Ответ или решение
Необходимые шаги для выявления проблемы с сетью Ethernet на ноутбуке Getac
Введение
Проблемы с достижением ожидаемой скорости Ethernet могут быть вызваны множеством факторов, включая аппаратные и программные настройки. В данном случае вы можете наблюдать заметное различие в скорости передачи данных между вашей приложением TCP и тестовыми измерениями с использованием Iperf. Данная ситуация требует более детального анализа, чтобы выявить узкие места и предложить пути решения проблемы.
Сравнительный анализ
-
Проблема с производительностью:
- Ваша программа TCP-клиента демонстрирует скорость только в 40 Mbps, в то время как Iperf достигает до 900 Mbps.
- Запуск приложения на другом ноутбуке с тем же оборудованием и ОС (Ubuntu 22.04) показывает, что проблема специфическая для ноутбука Getac.
-
Аппаратное обеспечение:
- Ноутбук Getac использует встроенный Ethernet-карт Intel, в то время как USB-адаптер Ethernet показывает нормальную производительность.
- Это может указывать на конкретные проблемы с драйверами или настройками встроенного Ethernet-карта.
Возможные причины и решения
-
Драйвера и обновления:
- Убедитесь, что драйвера сетевой карты актуальны. Вы можете использовать команду
lspci -k
для проверки используемых драйверов. - Проверьте наличие обновлений для вашей операционной системы, которые могут содержать улучшения для поддержки драйверов Ethernet.
- Убедитесь, что драйвера сетевой карты актуальны. Вы можете использовать команду
-
Настройки сети:
- Проверьте настройки MTU (Maximum Transmission Unit). Вы можете использовать команду
ip link show
для проверки текущего значения MTU и при необходимости увеличить его до 9000 для работы с Jumbo Frame. - Настройте размеры буферов TCP (
tcp_rmem
иtcp_wmem
) для оптимизации сетевой производительности. Эти параметры можно проверить и настроить с помощью командыsysctl
.
- Проверьте настройки MTU (Maximum Transmission Unit). Вы можете использовать команду
-
Проверка конфигурации TCP:
- Убедитесь, что ваша программа правильно обрабатывает и использует буферизацию при передаче данных.
- Для вашей программы, которая работает на двух портах, проверьте возможность одновременной обработки и загрузки сокетов.
-
Анализ загрузки сети:
- Используйте утилиты для мониторинга трафика (например,
iftop
илиnload
), чтобы проверить, нет ли других процессов, использующих сеть в момент тестирования.
- Используйте утилиты для мониторинга трафика (например,
-
Проверка оборудования:
- Протестируйте сеть с другим кабелем Ethernet и другим разъемом для исключения аппаратного дефекта.
- Обратите внимание на условия маршрутизации: иногда эти настройки могут негативно влиять на производительность.
Заключение
Для решения проблемы с низкой скоростью передачи TCP в сравнении с Iperf необходимо выполнить пошаговый анализ, начиная с проверки драйверов и конфигурации сети до аппаратных факторов. Если ни одно из перечисленных решений не сработает, рекомендуется обратиться в поддержку Getac для получения более конкретных рекомендаций и возможного ремонта. Применяя предложенные рекомендации, вы сможете улучшить производительность вашего Ethernet-соединения на ноутбуке Getac.