Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slow network performance on WinNAT due to receive segment coalescing (RSC) #371

Open
mback2k opened this issue Nov 15, 2018 · 3 comments
Open

Comments

@mback2k
Copy link

mback2k commented Nov 15, 2018

As mentioned in docker/for-win#698 Docker for Windows (including Windows Server / Docker EE) can experience slow network performance with WinNAT due to receive segment coalescing (RSC).

I was able to reproduce the issue by having a long-running container that regularly does a git clone of the curl repository. After disabling RSC on all available network adapters, I no longer experienced slow network performance. Even just a regular curl download of large files (>1 GB) caused this issue.

Therefore I would like to suggest to disable RSC via hcsshim on the host adapter everytime a virtual network switch is created for use with Docker.

@daschott
Copy link

This issue should no longer be applicable to WinNAT on RS5 and above.

dcantah pushed a commit to dcantah/hcsshim that referenced this issue Mar 17, 2021
Terminate all other container processes when the init exits
@weidi
Copy link

weidi commented Jun 29, 2022

This issue should no longer be applicable to WinNAT on RS5 and above.

This issue is still there in Server 2022, was able to fix it by disabling RSC
Get-NetAdapterRsc | Disable-NetAdapterRsc
Improved download speed from ~15MB/s to 200MB/s

@jankap
Copy link

jankap commented Jan 21, 2023

This issue should no longer be applicable to WinNAT on RS5 and above.

This issue is still there in Server 2022, was able to fix it by disabling RSC Get-NetAdapterRsc | Disable-NetAdapterRsc Improved download speed from ~15MB/s to 200MB/s

Same here, from 100 KiB/s (!) to 30 MiB/s inside a Windows Docker container. That's from "unusable" to host-performance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants