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
SCCM BranchCache

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
SCCM BranchCache

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.

SCCM BranchCache

On a device that haven’t received the Client Setting you’ll see this when running the same command :

SCCM BranchCache

Deploy content and test SCCM BranchCache

Requirements

  • 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.
SCCM BranchCache

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
SCCM BranchCache

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

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.

SCCM BranchCache
SCCM BranchCache

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.

Comments (1)

paulsharry23

06.22.2021 AT 01:19 PM
thank you for sharing, this is really very good information