In this post, we will cover how to configure BranchCache on your SCCM server SCCM clients. It’s quite straight forward and using BranchCache can significantly optimize network bandwidth during deployment.
BranchCache is a bandwidth-optimization feature introduce with Windows Server 2008 R2 and Windows 7. Each client uses a cache and acts as an alternate source for content that devices on its own network request. SCCM can use BranchCache to optimize network bandwidth during deployments. That way you decrease your request on your distribution points since your client act as the source for other clients.
We won’t go into detail on all different SCCM Caching methods, this blog focus on enabling BranchCache but we suggest that you get familiar with the different caching options that are available.
Microsoft has an excellent article for Selecting the right peer caching technology and a great comparison post between BranchCache and Peer Cache. You can read both articles to know more about the different options that are available.
There are 2 settings to enable BranchCache on your SCCM Server. One on the server-side and one on the client-side. For our post, we are using an SCCM 2103. Be sure to update your site if some options are not available for you.
Configure SCCM BranchCache server
On your SCCM Site, the BranchCache option is on the Distribution Point site system.
- Go to Administration / Site Configuration / Servers and Site System Roles
- At the bottom, right-click your Distribution Point and select Properties
- In the General tab, select Enable and configure BranchCache for this Distribution Point
Configure SCCM client settings for BranchCache
For the clients, enable Branch Cache in your Client Settings. This is great to target only needed device. You can deploy this client setting only to machine that needs it.
- Go to Administration / Client Setting / Client Cache Settings
- Set the dropdown Enable BranchCache to Yes
- Set the dropdown Configure BranchCache to Yes
- Set the desired option for cache size
- Deploy the client setting to the desired devices
How to validate SCCM BranchCache
On a client that receive the configured client settings. Update the machine policy. And run the following command
netsh branchcache show status all
On a successfull client you’ll see statistics about BranchCache :
You can also see the Active Current Cache size on the machine after you start using it. If you just enabled SCCM BranchCache, it will be at zero.
On a device that haven’t received the Client Setting you’ll see this when running the same command :
Deploy content and test SCCM BranchCache
- 2 Windows clients under the same boundary and using the same Distribution Point with BranchCache enabled
- Deploy a package or application with an available deployment. Try using a package or application with at least 100MB of data.
- For SCCM 1802+ you don’t have to enable anything on the deployment level anymore, it’s simply not needed.
- Prior to 1802, you would need to enable BranchCache option in the deployment properties. This option is enabled by checking the Allow client to Share content with other clients on the same subnet checkbox.
On your 2 clients
We will now test that both clients are sharing their content for a deployment
- Run the available deployment from the Software Center
- Open a command prompt and run the command : netsh branchcache show status all
- You should see the Cache Size increase
How to monitor SCCM BranchCache usage
To be able to monitor BranchCache usage, SCCM must be running version 1610 or higher. On a SCCM 2103+ site, the feature is enabled by default.
- Go to Monitoring \Distribution Status \ Client Data Sources
- The data will not be available right away if you just enabled BranchCache on SCCM clients. It take about a day to receive information.
- Once you have data, you’ll be able to see BranchCache Statistics
SCCM BranchCache Reports
We also have developped a free PowerBi dashboard to monitor your Client Data Source. Check it out of you need more detailed reporting than the one included in the SCCM Console. It can also provide historical data on your deployments. You just have to download it and run it on your server.
BranchCache Advance Monitoring
It’s also possible to check live data transfer using Performance Monitor on a client that host SCCM BranchCache content :
- Launch Performance Monitor from the Start Menu
- Create a new User Defined / Data Collector Set using the following options :
- Click on ADD and select both BranchCache options :
- Save the data to your desired folder and Save it
- Start and stop the Performance Counter using the green arrow and stop button at the top
- You can vizualise the data under Reports / User Defined / BranchCache
This is pretty much everything you need to know about SCCM BranchCache. Let us know your experience using the comment section below.
thank you for sharing, this is really very good information