-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Parallelize workload pack downloads Fixes #43870 #45969
base: release/9.0.3xx
Are you sure you want to change the base?
Parallelize workload pack downloads Fixes #43870 #45969
Conversation
You may need to build a local copy that he can install and try. Now that sdk and installer are merged, you might be able to just run build -pack locally in your branch and create zips for private testing. |
Could also just drop-in replace dotnet.dll, no? Because this command is entirely part of the CLI, not touching anything in the SDK props/targets/etc. |
I'd be happy to. But yes, a binary would help as I haven't practiced building this repo. |
I've been testing this locally rather than in Azure Pipelines. With your change, I see a steady 100Mbps download rate (on a 1Gbps connection) vs. a ~30-50Mbps download rate when using the 9.0.100 SDK. So bandwidth wise it looks like a good improvement. The 9.0.100 SDK completed successfully in 3 minutes 43 seconds.
I wonder if the parallelism you added ended up trying to add the package feed source multiple times somewhere. It certainly does not appear multiple times in my nuget.config or anywhere else environmental on the docker container I tested it on. Full console log
|
With your concurrency bug fix, I can say that your fix drops the elapsed time on a linux docker container to 2:28 (from 3:43). A nice improvement! |
Fixes #43870
There are multiple possible reasons AzDO might be much slower than nuget.org. My untested hypothesis is that it may be some authentication work, which would be substantially mitigated by parallelizing the workload pack downloads (not the installs). That's what I tried to do here.
@AArnott, any chance you could try this out and let me know if it helps?