(Last updated on November 30, 2018)
Multicasting is a great technology when it works. And from my experience doing deployments in quite a lot of different environments in the last couple of years, it seems to work in about 50% of the networks.
This blogpost will be about things you can do to speed up the Multicast transfer.
Here is a quick crash course in Multicasting from cisco if you want to refresh your networking skills.
I’ve not had the opportunity to try this out myself or see how much difference you get and it looks like it can wary a lot in different environments, but according to the TechNet forum it’s possible to speed up Multicasting in various different ways. Hopefully, I will be able to try it out very soon and get back to you with the result and my findings. But would of course also be very grateful if you guys and girls, could try it out and let me know your results.
This is not really optimizing, rather the opposite. How to reduce the speed of Multicast in case it’s eating too much of your bandwidth.
It seems that this registry key does not work on Server 2008 R2, but only on previous versions of Windows Server.
To throttle your multicast bandwidth usage: From the WDS MMC, open the Server Properties page. Go to the Network Settings Tab. Select the Custom network profile.
In the registry, browse to HKLMSYSTEMCurrentControlSetServicesWDSServerProvidersWDSMCProfilesCustom and set the TpMaxBandwidth setting to something less than 100. It’s the percentage of available bandwidth that the server uses.
And this TechNet blog mentions other Windows Server 2003 and Windows Server 2008 (not R2!) setting you can change, which are ignored by 2008 R2.
It seems that Microsoft has made WDS in Server 2008 R2 more automatic, its trying to adjust itself to the optimal network speed.
But there are some ways to make it faster.
Here is a great Technet Forum Post with some settings you can modify
If you are only interested in the settings I have found to work well, they are tpExpWindowSize = 2, tpMaxWindowSize = 8, and apBlockSize at the default of 2251 (hex).
I am experimenting with these settings as well. I am finding that setting the tpMaxWindowSize to a lower setting, currently at 32, increases the multicasting transfer speed from 200-300KBps to 1500-1900KBps.
I did find a resolution to my issue at least. I moved everything to a different server and speeds increased to anywhere from 13000KBps to 36000KBps without the need to adjust and registry settings.
And another one with a slightly different approach which also got a good result.
Also, by adding enough RAM to your servers, WDS will be able to load the WIM file into RAM, which will also speed up deployments so it does not need to read from the hard drive.