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-BCStatusBranchCacheIsEnabled : 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-BCStatusBranchCacheIsEnabled : 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