macOS High Sierra App and iCloud caching service

Nugget

New Member
Jul 13, 2017
26
19
3
Houston, TX
keybase.io
With the release of macOS 10.13 High Sierra Apple have made a big change to their App and iCloud content caching services. This used to be part of the add-on macOS Server package, but with 10.13 they've moved the caching service into the regular desktop macOS operating system. This means that any Macintosh computer running 10.13 High Sierra can serve as a content cache for its local network.

If you have at least one semi-permanent Apple device on your local network you will see benefits from running the caching service. All iOS and macOS application downloads will pass through the cache which means you only have to download them once. This saves your bandwidth and means application installs can run much faster. When some developer does their weekly "Bug fixes and performance improvements" update, all your devices will install it from the cache, fast and saving your bandwidth and data cap.

If you enable the optional iCloud caching, you'll get similar (and even more noticeable) performance improvements for iCloud Photo Library syncing, iCloud Drive, and other data sharing across your Apple devices.

When you take a photo with your iPhone it will be uploaded through the caching service to Apple's iCloud servers. Then when your other devices sync that photo via iCloud it will not have to be downloaded from "the cloud" but instead pulls the local, cached image.

I've been running this service on an old MacBook Air at my house for years now (with macOS Server) and it's been a great benefit when huge application updates roll out.

The old macOS Server version had fancy logs and graphs that allowed you to monitor cahing performance and activity to keep an eye on the efficacy and health of the service. When they moved it all to regular macOS all that stuff disappeared. It's basically just an on/off checkbox in the Sharing pane of System Preferences.

Instead, there's just a command-line tool that outputs the raw data from the service. You can see the stats by running a
Code:
AssetCacheManagerUtil status
from a Terminal window.

Apple have documented (very tersely) the setup at this support page. There are a ton of new fancy options in High Sierra, where you can set up tiered caching with parent and children caches. It also plays a lot better with IPv6 now (Advanced Options, changing it to share to "devices using the same local networks" instead of "devices using the same public IP address"). If you have a lot of Macs and/or iOS devices at your company you should definitely consider turning this on.

Also, Apple expressly prohibit running the content caching service in a virtual machine (see HT207828). I can't explain or justify why they've decided to do that, but be aware.

If on the off chance that you're running Zabbix 3.4 for network monitoring, I created a Zabbix template that provides 8x10 color glossy graphs with circles and arrows and a paragraph on the back of each one describing what it all means. If you're not running Zabbix it's definitely not worth installing just for this, but if you already are, boom.

TL;DR: If you have a Mac at your home or office that's always turned on and connected to the network (an old iMac or Mac Mini work great for this) go to "Sharing" in System Preferences and turn on the Content Caching service. It's simple and a huge win for even small networks