Branchcache to minimize HTTP traffic

We're looking for a way to minimize bandwidth transfers via a Tomcat-hosted HTTP server to client machines in another location.

The suggestion was to see if Branchcache is able to handle that.
Branchcache marketing materials say that it works with HTTP content servers.  There don't seem to be qualifications that the server be IIS or other Microsoft technology, so we are trying and hoping that it will work with Tomcat.

For the test we are trying to set up two 2012R2 Server machines, one to act as a server and the other as a 'client' for the test.
The idea is to use direct local caching for the test.

One of the machines has Branchcache configured and the Tomcat-based application installed -- the server.
On the second machine for the client we've also installed Branchcache tools and tried to configure a local cache area.
Both the inbound and outbound Branchcache client port rules were enabled on the two machines.
The documentation makes it sound like other than turning on Branchcache at the server there is no other configuration needed for an HTTP transfer to automatically use Branchcache.
HTTP access from the client to the server is made via a browser request originating in Chrome.

But we currently aren't seeing Branchcache being used.

On the server, the Branchcache status looks like:

PS C:\Users\Administrator> Get-BCStatus

BranchCacheIsEnabled        : True
BranchCacheServiceStatus    : Stopped
BranchCacheServiceStartType : Disabled

ClientConfiguration:
    CurrentClientMode           : LocalCache
    HostedCacheServerList       :
    HostedCacheDiscoveryEnabled : False

ContentServerConfiguration:
    ContentServerIsEnabled : True

HostedCacheServerConfiguration:
    HostedCacheServerIsEnabled        : False
    ClientAuthenticationMode          : Domain
    HostedCacheScpRegistrationEnabled : False

NetworkConfiguration:
    ContentRetrievalUrlReservationEnabled : True
    HostedCacheHttpUrlReservationEnabled  : True
    HostedCacheHttpsUrlReservationEnabled : True
    ContentRetrievalFirewallRulesEnabled  : False
    PeerDiscoveryFirewallRulesEnabled     : False
    HostedCacheServerFirewallRulesEnabled : False
    HostedCacheClientFirewallRulesEnabled : True

HashCache:
    CacheFileDirectoryPath               : C:\Windows\ServiceProfiles\NetworkService\AppData\Local\PeerDistPub
    MaxCacheSizeAsPercentageOfDiskVolume : 1
    MaxCacheSizeAsNumberOfBytes          : 318431518
    CurrentSizeOnDiskAsNumberOfBytes     : 0
    CurrentActiveCacheSize               : 0

On the client, the status looks like:

PS C:\Users\Administrator> Get-BCStatus
BranchCacheIsEnabled        : True
BranchCacheServiceStatus    : Running
BranchCacheServiceStartType : Automatic

ClientConfiguration:
    CurrentClientMode           : LocalCache
    HostedCacheServerList       :
    HostedCacheDiscoveryEnabled : False

ContentServerConfiguration:
    ContentServerIsEnabled : True

HostedCacheServerConfiguration:
    HostedCacheServerIsEnabled        : False
    ClientAuthenticationMode          : Domain
    HostedCacheScpRegistrationEnabled : False

NetworkConfiguration:
    ContentRetrievalUrlReservationEnabled : True
    HostedCacheHttpUrlReservationEnabled  : True
    HostedCacheHttpsUrlReservationEnabled : True
    ContentRetrievalFirewallRulesEnabled  : True
    PeerDiscoveryFirewallRulesEnabled     : False
    HostedCacheServerFirewallRulesEnabled : False
    HostedCacheClientFirewallRulesEnabled : True

HashCache:
    CacheFileDirectoryPath               : C:\Windows\ServiceProfiles\NetworkService\AppData\Local\PeerDistPub
    MaxCacheSizeAsPercentageOfDiskVolume : 1
    MaxCacheSizeAsNumberOfBytes          : 318431518
    CurrentSizeOnDiskAsNumberOfBytes     : 29433856
    CurrentActiveCacheSize               : 0

DataCache:

    CacheFileDirectoryPath               : C:\Windows\ServiceProfiles\NetworkService\AppData\Local\PeerDistRepub
    MaxCacheSizeAsPercentageOfDiskVolume : 5
    MaxCacheSizeAsNumberOfBytes          : 1592157590
    CurrentSizeOnDiskAsNumberOfBytes     : 29433874
    CurrentActiveCacheSize               : 0

    DataCacheExtensions:

When I attempt a transfer of a large file by HTTP from the server to client machines, I don't see that anything is being cached.

I'm not clear what other steps I need to do to make caching happen in this client-server scenario.
Should this scenario work and, if so, what other configuration could be lacking?
Do we need to do something on the HTTP Tomcat server itself?

Thanks

May 24th, 2015 7:58pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics