The following article discusses and demonstrates the advantages of using Pull Distribution Points in SCCM 2012 SP1 or higher as opposed to traditional push based architecture
One of the largest challenges that I faced when we first rolled out our SCCM infrastructure was regarding bandwidth usage in relation to our content distribution. Push distribution points have traditionally not be very bandwidth friendly in environments where hardware based QOS to a packet level is non existent. This of course can be tweaked using rate limiting settings but rate limiting on push distribution points in my experience has not been very effective. It is based on the idea of bursting bandwidth usage in increments.
This sounds effective in theory but in practice, bandwidth sensitive applications where a constant uninterrupted connection was required were still affected. We would often end up in a situation where a new application or update would pin the connection coming from our datacenter. At the time this was a 200mbps connection and has since been upgraded to a 500mbps connection. We have about 40 branch sites each with their own DP role installed. Each of these sites have varying connection speeds ranging from 10mbps, 20mbps, and 100mbps, the vast majority being 10mbps. The other challenge is that the “push” distribution point can become a bottleneck as it is predominantly the “bossman” and can become heavily taxed from a resource perspective when large distribution workloads are queued.
When Microsoft released SP1 for SCCM 2012 I was excited to learn about Pull Distribution points. Pull distribution points rely on BITS (Background Intelligence Transfer Service) to control the distribution of content. The advantage here however is that the processing of the content occurs at the distribution point level and not at the primary site. This addresses the potential bottleneck issue inherent in the push distribution point architecture. The other major advantage of pull distribution points is that their bandwidth usage can be finitely controlled by throttling bits traffic on your distribution points.
Configuring Concurrent Distribution Settings
The first step to configuring Pull DP is to set your concurrent packages for each pull distribution point. This can be set in the following location:
Controlling Bandwidth Usage
- Open the SCCM Console
- Administration / Site Configuration / Sites
- Click on the Primary Site Server
- From the Ribbon Bar select Configure Site Components and Software Distribution
- Select the Pull Distribution Point tab and select your desired settings for Maximum concurrent packages for each pull distribution point (I configure this setting to 1 and have a DP group containing our 40 sites, this works well for our environment. Mileage may vary for yours)
To control bandwidth for your Pull Distribution points you need to configure specific client settings for your distribution points:
Logs & Monitoring
- Open the SCCM Console
- Go to Administration / Client Settings
- Create new Client Settings
- Add Background Intelligence Transfer Service
- Configure the Limits that you want to set.
- In our environment we configured a throttling rate of 3072Kbps during Business Hours. This means that if we have 40 sites all pulling content at a rate of 3072Kbps during business hours that we could have a potential bandwidth usage of 3072Kbps * 40 = 122880Kbps or 122Mbps of bandwidth being used up at our Primary site
- Outside the throttling window we use a transfer rate of 7168Kbps
- It is imperative that you adjust these settings in accordance with your network team.
- Also note that this will throttle all bits traffic to the machine, including WSUS downloads and any SCCM downloads to the C:\Windows\CCMCache folder
- The last step is to deploy the configured client settings to a collection containing your Pull DP’s. Ensure that the priority of the client settings policy is set correctly
A number of logs exist for monitoring the status of pull distribution points.
- PullDp_Install.log – This log can be found in the SMS_DP$\sms\bin\ folder of your distribution point. This log monitors the installation status of your distribution point
- PullDp.log – This log can be found in the SMS_CCM\Logs\ folder of your distribution point and can be monitored to ensure that the Pull DP is correctly pulling content from the Primary Site Server
Many of you may prefer the classic Push architecture. This may fit your environment well. In our case Pull DP’s were a lifesaver and allowed us to have the finite control that we needed over our architecture. Since implementing them we have had no issues with SCCM eating our bandwidth and we have noticed a far more controlled distribution of content. I hope you are able to find them as useful as we did.