Jump to content
Калькуляторы

Специфика работы TCP в Windows

После продолжительных изысканий и обращений пользователей выявили следующую проблему:

В ОС Windows (7/10) при подключении через гигабитный линк по PPPoE (напрямую или через роутер не важно, главное заниженный MTU) наблюдается значительное снижение производительности TCP UPLOAD (порядка 30 Мбит/с) при взаимодействии с хостами RTT до которых более 50 мс. С хостами, которые по близости - отбивает свой гигабит без проблем.

Более интересно то, что стоит на этом же компьютере переключить линк в режим 100 Мбит/с - отправляет 90+ Мбит/с. 
А еще более интересно что, при подключении по IPoE (MTU 1500) проблема ликвидируется.


На этом же подключении PPPoE всякие андроиды/линуксы проблем не наблюдают.


Пробовали тюнить TCP через SG TCP Optimizer, но каких-то значительных успехов достичь не удалось.

Подскажите пожалуйста что можно еще подкрутить, в какую сторону посмотреть.

Share this post


Link to post
Share on other sites

Была проблема чем-то схожая с вашей - так же , гигабитные линки, низкий upload, pppoe. Долго не ковыряли, но помогло включение flow control на портах доступа.

Попробуйте, чем черт не шутит.

Share this post


Link to post
Share on other sites

flow control пробовали включать/отключать - на ситуацию никак не влияет.

Share this post


Link to post
Share on other sites

В самой по себе Windows есть проблема, что обработка PPPOE однопоточная, и вы ограничены скоростью одного ядра - How can windows 10 get maximum PPPoE performance-10G (microsoft.com) . Это, кстати, и в Linux была проблема такая. С этим хорошо коррелирует то, что на 100 Мбит/с вы выжимаете почти полную скорость. Что касается использования роутера - то там тоже можете упираться уже в одно ядро роутера, у Mikrotik, UBNT и, кажется, всех роутеров на Broadcom именно так и есть.

Share this post


Link to post
Share on other sites

@jffulcrum Так прикол в том, что даже если pppoe поднят на роутере, ситуация не меняется. То что роутер справляется, тут сомнений нет, с других устройств все работает отлично. И это не единичный Windows клиент, тестировали разные, в разных участках сети.

Edited by alexmern

Share this post


Link to post
Share on other sites

Как ни странно, в моем случае проблема решилась перекидыванием дальних маршрутов на другого аплинка...

Share this post


Link to post
Share on other sites

Оффлоады в свойствах драйвера сетевухи попробуйте выключить у венды.

Share this post


Link to post
Share on other sites

В 22.11.2022 в 14:36, alexmern сказал:


В ОС Windows (7/10) при подключении через гигабитный линк по PPPoE (напрямую или через роутер не важно, главное заниженный MTU) наблюдается значительное снижение производительности TCP UPLOAD (порядка 30 Мбит/с) при взаимодействии с хостами RTT до которых более 50 мс. С хостами, которые по близости - отбивает свой гигабит без проблем.

tcpwindow ? на 30 мегабит при 50мс окно надо ~180к + оверхед на заголовки при более мелких пакетах, + затык в начале на need to fragment и перепосылка (в случае если рутер по середине с меньшим МТУ)

Share this post


Link to post
Share on other sites

Результаты дальнейших изысканий: на OS Windows 11 данная проблема отсутствует.
На том же железе, через тот же роутер.

 

Куда еще копать пока без вариантов. Всякие TCP autotuning и другие параметры netsh крутили - не помогает.

Share this post


Link to post
Share on other sites

del не заметил в первом посте sg optimizer

 

а тем же sg оптимайзером не сравнивали настройки в 11 и 7/10

Share this post


Link to post
Share on other sites

Просто надо в центре сети сделать нормальный шейпер и проблема уйдет.

Share this post


Link to post
Share on other sites

Сравнили настройки 10 и 11 через SG Optimizer - всё одинаково. Видимо что-то поменялось в ядре, вопрос - что?

 

Шейпера на исходящий вообще нет.

Share this post


Link to post
Share on other sites

3 hours ago, alexmern said:

Сравнили настройки 10 и 11 через SG Optimizer - всё одинаково. Видимо что-то поменялось в ядре, вопрос - что?

Пишите в МС, какой смысл такое тут спрашивать?

Share this post


Link to post
Share on other sites

Сетевуха случаем не реалтек встроенная? С ними была проблема в 10ке , причем даже на голом eth и на некоторых чипах - у меня вылечилось замена встроенной на другую (в одном случае realtek но чип другой , в другом intel. проблема ушла). Родные дрова от реалтека и прочие манипуляции не помогали. Причем проблема только в винде , с liveusb linux все отлично работает

Edited by alex_001

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now