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)
- Computer Configuration \ Policies \ Administrative Templates \
- 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
- Configuring SCCM and BranchCache by Steve Rachui
- BranchCache Troubleshooting wiki
- Verification and Monitoring
- Official website
- BranchCache Early Adopter’s Guide
- BranchCache Distributed Cache Mode Step by Step Guide
- BranchCache Deployment Guide for Windows Server 2008 R2 and Windows 7
SCCM and BranchCache