Configuring BranchCache on the SCCM Distribution Point

  • On the Distribution Point properties, enable “Allow clients to transfer content from this distribution point using BITS, HTTP, and HTTPS”
  • In Server Manager
    • install the BranchCache Feature
    • configure the Windows Firewall to ensure content can be requested
      • [TODO]

Configuring BranchCache on the SCCM Clients.  A domain Group Policy is best, but a local Group Policy as well as a few NETSH commands will work.

  • From a policy
    • Computer Configuration \ Policies \ Administrative Templates \
      • Enable Turn on BranchCache
      • Enable Set BranchCache Distributed Cache mode
      • Enable Configure BranchCache for network files = ?? milliseconds (default is 80, I suggest 20)
      • (optional) Enable Set percentage of disk space used for client computer cache (default is 5%)
    • Computer Configuration \ Policies \ Windows Settings \ Windows firewall with Advanced Security \ Windows Firewall with Advanced Security \ Inbound Rules
      • Enable BranchCache Content Retrieval (HTTP-In)
      • Enable BranchCache Peer Discovery (WSD-In)
    • Computer Configuration \ Policies \ Windows Settings \ Windows firewall with Advanced Security \ Windows Firewall with Advanced Security \ Outbound Rules
      • Enable BranchCache Content Retrieval (HTTP-Out)
      • Enable BranchCache Peer Discovery (WSD-Out)
  • From the command line
    netsh branchcache set service mode=DISTRIBUTED
    netsh branchcache smb set latency latency=20
    sc config PeerDistSvc start= delayed-auto
    ::Optional.  These SHOULD have been done automatically by the first command which set the service
    netsh branchcache set smb set cachesize size=5 percent=TRUE
    netsh advfirewall firewall set rule name="BranchCache Content Retrieval (HTTP-In)" new enable=yes
    netsh advfirewall firewall set rule name="BranchCache Peer Discovery (WSD-In)" new enable=yes
    netsh advfirewall firewall set rule name="BranchCache Content Retrieval (HTTP-Out)" new enable=yes
    netsh advfirewall firewall set rule name="BranchCache Peer Discovery (WSD-Out)" new enable=yes
    NET Start PeerDistSvc
  • ?????

How to tell if it is working

  • Start Performance Monitor
  • Add monitor elements (probably from a remote computer)
  • Add BranchCache (specifically
    • BITS: Bytes from cache
    • BITS: Bytes from server
    • Discovery: Attempted discoveries
    • Discovery: Successful discoveries
    • Retrieval: Bytes from cache
    • Retrieval: Bytes from server
    • Retrieval: Bytes served (show how much this computer is providing to other peers)
  • Monitor these counters
  • Deploy something NEW from SCCM ensuring that “download from distribution point” is enabled in order to force BITS.  You could also manually transfer data via BITSAdmin.exe
  • Run this locally to see some good basic configuration and utilization info
    netsh branchcache show status all
  • Calcuate Savings percentage = Retrieval: Bytes from cache / (Retrieval: Bytes from cache + Retrieval: Bytes from server)
  • Calculate Bytes Saved = Hypothetical Server Bytes Without Caching – Client Cache Miss Bytes – Server Cache Miss Bytes – Hash Bytes

Requires:

  • Windows Server 2008 R2
  • Windows 7 Enterprise or Ultimate
  • BITS 4.0

References

SCCM and BranchCache
Tagged on: