Вопрос или проблема
У меня очень странная проблема с производительностью при загрузке файлов.
Сеть:
- Маршрутизатор Huawei HG8240H (ISP) – оптоволоконная линия 1 Гбит/с
- TP-Link Archer C6 AC1200, подключенный к этому маршрутизатору Huawei с портом 1 Гбит/с, обслуживающим WiFi 5GHz
Компьютеры:
- ASUS Zephyrus G14 ROG | Ryzen R9 5900HS | 32 ГБ ОЗУ | дополнительные адаптеры Ethernet USB3 | встроенный WiFi MediaTek WiFi6 MT7921 | Windows 11 Pro | только Windows Defender
- Dell Latitude 5480 | I5-7440HQ | 32 ГБ ОЗУ | встроенная сетевая карта Intel I219-LM | встроенный WiFi Intel Dual Band Wireless-AC 8265 | Windows 10 Pro | ESET AV
- ПК Asrock Z87 Extreme 4 | I7-4700K | 16 ГБ ОЗУ | встроенная сетевая карта Intel I217-V 1 Гбит/с | Windows 7 Pro | ESET AV (почти 10 летний компьютер)
Адаптеры Ethernet USB3:
- ASUS 2.5 Гбит/с C2500 USB RJ45 (Realtek RTL8156)
- Ugreen 1 Гбит/с USB RJ45 (ASIX AX88179)
Передача в локальной сети или проверка speedtest.net показывает 940+ Мбит/с более 110 МБ/с (для speedtest в большинстве сценариев мультисессия) на всех компьютерах.
Проблема:
Когда я загружаю что-то с адаптерами Ethernet USB3, это почти во всех случаях медленнее в 2-8 раз, чем загрузка того же файла с ПК с встроенной сетевой картой Intel. В некоторых случаях даже загрузка по WiFi более стабильна и быстрее, чем с адаптерами USB3.
Очень часто загрузка начинается с хорошей скорости около 70-80 МБ/с и постоянно падает даже до 4-5 МБ/с. Например, WiFi начинает медленнее, но скорость приятно растёт, затем держится на хорошем стабильном значении около 40 МБ/с (у меня 1200 ac).
У меня нет идеи, почему это так неправильно.
Вот пример видео:
USB адаптер: https://youtu.be/JZamlY7rY9s (проверьте, как плохо после 40 секунд)
Загрузка на ПК: https://youtu.be/HVai_LmFSdE (скорость почти постоянна)
Пробовал:
- Удалил устройство ASUS C2500 из Windows и проверил 3 драйвера – лучший от Microsoft (2015 года), худшие от Realtek (2020 и 2022 года)
- Пробовал подключить ноутбуки напрямую к маршрутизатору ISP, разные порты и разные кабели (тот же кабель, что и у ПК).
- Сменил USB порты для адаптеров USB3 – даже USB-C с дополнительным адаптером (Unitek). Также протестировал с ПК.
- Сменил некоторые настройки в драйвере, связанные с TCP Offload и Control Flow Mode Select: Passive / Aggressive
- Сброс сети – Настройки > Сеть и интернет > Дополнительные параметры сети > Сброс сети
- Использовал TCP Optimizer (настройка) из https://www.speedguide.net/downloads.php
- Тестировал разные браузеры. Edge, Chrome, Firefox, SRW Iron, Opera и wget.
- Проверил режимы питания/аккумуляторов: тихий, нормальный, производительный. Не имеет значения, подключён ли он к сети.
- Подключил этот адаптер USB3 к ПК – те же проблемы.
- Снизил MTU с 1500 до меньших значений, таких как 1458, 1300 и т.д.
- Все компьютеры имеют быстрые SSD-накопители, способные записывать гораздо больше 100 МБ/с.
- Проверил различные настройки реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters, включая TcpWindowSize (значения от 131072 до 16000000), GlobalMaxTcpWindowSize (значения от 131072 до 16000000) и Tcp1323Opts (0,1,3) – сначала думал, что это помогает, но вижу, что в некоторых сценариях это замедляет (на ПК этого не наблюдается)
- Сменил поставщика управления перегрузками с CUBIC на CTCP.
- Тестировал с загрузочной CD Lubuntu Linux – это решает проблему – скорости намного выше и более стабильны, но я хочу, чтобы это работало быстро на Windows 11.
Я обнаружил, что если задержка сети низкая, как в локальной сети или же 3-5 мс, скорости отличные (более 100 МБ/с) независимо от того, использую ли я адаптер или обычную сетевую карту, но если это что-то на большом расстоянии, как другая страна, например из Германии, Швеции и т.д., с задержкой 25+ мс скорость значительно ниже, чем при использовании сетевой карты ПК. Я знаю, что это может быть связано с буферами TCP, но, как я сказал, я использовал оптимизированный вариант в TCP Optimizer для этих сетевых карт.
TCP Global :: Zephyrus
netsh interface tcp show global
Глобальные параметры TCP
----------------------------------------------
Состояние масштабирования на стороне получения : включено
Уровень автоматической подстройки окна приема : нормальный <<<<<<<<< включено
Поставщик управления перегрузками дополнительно : по умолчанию
Способность ECN : отключено
Таймстемпы RFC 1323 : отключено
Начальная RTO : 2000
Состояние объединения сегментов приема : отключено
Устойчивость Rtt без Sack : отключено
Макс. повторные передачи SYN : 2
Быстрое открытие : включено
Обратное быстрое открытие : включено
HyStart : включено
Постепенное снижение скорости : включено
Профиль темпирования : отключен
Перегрузка :: Zephyrus:
Get-NetTCPSetting | Select SettingName, CongestionProvider
ИмяНастройки ПоставщикПерегрузки
----------- ------------------
Автоматически
InternetCustom CUBIC
DatacenterCustom CUBIC
Совместимость NewReno
Datacenter CUBIC
Интернет CUBIC
Глобальные параметры TCP и перегрузки :: ПК
Глобальные параметры TCP
-------------------------------------------------------
Состояние масштабирования на стороне получения : включено
Состояние Offload (технология Chimney) : отключено
Состояние NetDMA : отключено
Прямой доступ к памяти (DCA) : включено
Уровень автоматической подстройки окна приема : нормальный <<<<<<<< включено
Поставщик контроля перегрузки : ctcp <<<<<<<< отличается в Win7
Способность ECN : отключено
Таймстемпы RFC 1323 : отключено
Я сменил Поставщик перегрузки с CUBIC на CTCP – это не помогло.
Шаблон по умолчанию глобального TCP - интернет
Дополнительные параметры TCP
----------------------------------------------
Минимальная RTO (мс) : 300
Начальное окно перегрузки (MSS) : 10
Поставщик контроля перегрузки : ctcp
Включить перезапуск окна перегрузки : отключено
Таймаут отложенного ACK (мс) : 40
Частота отложенного ACK : 2
Включить RACK : включено
Включить зондирование потерь на конце : включено
Есть ли у кого-нибудь идея, что ещё я мог бы проверить и как решить эти проблемы с производительностью для ноутбука без встроенной сетевой карты? Было бы здорово как-то исправить эти адаптеры USB3. Я мог бы купить лучший маршрутизатор WiFi6, но это не предпочтительное решение.
Ничто не помогает.
Вам следует использовать инструмент iperf для тестирования вместо загрузки из Интернета, поскольку в Интернете слишком много неопределенностей.
Ответ или решение
Ситуация, с которой вы столкнулись, действительно сложная и требует тщательного анализа различных факторов, которые могут влиять на производительность сетевых адаптеров. В вашем случае наблюдается заметное снижение скорости интернет-соединения при использовании USB-адаптеров Ethernet по сравнению с встроенными сетевыми картами. Рассмотрим ключевые аспекты, которые могут объяснить это поведение, и возможные решения.
### 1. Аппаратные особенности USB-адаптеров
USB-адаптеры часто имеют ограничения, связанные с их аппаратной архитектурой и драйверами. Например, адаптеры могут не полностью использовать скорость USB 3.0 из-за неэффективных драйверов или аппаратных ограничений. В вашем случае оба адаптера (ASUS C2500 и Ugreen AX88179) предлагают различные производительности, и это может зависеть от реализации их драйверов, а также от качества чипов, используемых в них.
### 2. Проблемы с драйверами
Вы упомянули, что пробовали несколько версий драйверов для адаптера ASUS. Это критически важно, поскольку старые или плохо оптимизированные драйверы могут значительно снижать производительность. Я рекомендую проверить наличие обновлений драйверов на сайте производителя адаптера и попробовать драйверы от сторонних производителей, если они доступны.
### 3. Настройки TCP/IP
Вы провели серьезную диагностику настройки TCP, включая изменение настройки «Congestion Control Provider» и «TcpWindowSize». Однако проблемы с производительностью могут также быть вызваны неправильными значениями MTU. Стоит вернуться к базовым настройкам MTU, которые чаще всего составляют 1500 для Ethernet. Однако для WAN-соединений (например, соединения с сервером за границей) использование MTU ниже 1500 может повысить стабильность передачи.
### 4. Тестирование через Iperf
Как правильно упомянуто в комментарии, использование инструмента Iperf для тестирования сети становится предпочтительным, поскольку это поможет устранить влияние сторонних факторов, таких как интернет-провайдер или качество маршрутизации. Iperf позволяет выполнять замеры скорости внутри локальной сети, что поможет вам оценить реальные возможности адаптеров. Проведите тесты между всеми вашими устройствами — это поможет выявить, ограничивает ли USB-адаптер скорость.
### 5. Эффект от USB-портов
Ваши тесты с различными USB-портами также важны. Важно отметить, что USB-порты на разных компьютерах могут иметь различные производительности. Если вы подключаете адаптер к USB 2.0, то это может существенно ограничить скорость передачи данных (например, до 480 Мбит/с), что не соответствует возможностям переходника с поддержкой USB 3.0. Убедитесь, что адаптер действительно подключен к порту USB 3.0 с максимальной производительностью.
### 6. Обработка сетевых данных
Также стоит рассмотреть параметры, связанные с обработкой сетевых данных в Windows. Попробуйте отключить функции, такие как «Receive Side Scaling» и «TCP Offload», чтобы предотвратить потенциальные конфликты, которые могут возникать на уровне обработки TCP/IP. Иногда это может привести к улучшению общей производительности.
### 7. Сравнение с встроенными картами
Встроенные сетевые карты, такие как Intel I219-LM, часто оптимизированы для работы с конкретными операционными системами и имеют эффективные драйвера. Они могут предоставлять лучшее управление пакетами данных и используют аппаратные возможности, такие как QoS (Quality of Service), что может дать им значительное преимущество при высоких нагрузках.
### Заключение
С вашей стороны уже предпринято множество шагов для устранения этой проблемы. Возможно, стоит также рассмотреть возможность использования более качественных USB-адаптеров от проверенных производителей, которые специально созданы для обеспечения высокой производительности. Если результаты всех тестов с использованием Iperf покажут значительное преимущество встроенной карты, возможно, стоит рассмотреть покупку USB-адаптера с известной репутацией в производительности, чтобы избежать повторения текущих проблем.
В случае дальнейших сложностей, возможно, стоит проконсультироваться с техническими специалистами или обратиться в службу поддержки производителей оборудования.