Thursday, July 7, 2016

Protecting Your Network From Photos Uploads

Adam C. Engst (May 2015):

My Internet connection runs at 30 Mbps down and 5 Mbps up, and when I turned on iCloud Photo Library for the first time, Photos completely destroyed Internet performance for every device in the house: Web pages loaded slowly, Google Hangouts struggled, Netflix buffered repeatedly, Rdio stuttered, and even Dark Sky on the iPhone timed out getting climate data. I had to promise to pause syncing whenever Tristan needed to do homework (which is whenever he’s home, it seems), and it was clearly something that couldn’t run during our work days.

I recently enabled iCloud Photo Library for a small library in our household, and it did more than reduce the Internet performance. It made all our Macs and devices stop working. Web pages immediately showed errors. Mail and Dropbox wouldn’t sync at all. Apple TV couldn’t play anything. Wi-Fi calling didn’t work. This is with a pretty fast cable connection. Oh, and quitting Photos doesn’t provide relief because uploads continue via a helper process.

Every other network-intensive app that I use—Arq, CrashPlan, Dropbox, etc.—includes a bandwidth limiter. (Apps that upload seem to cause more problems than ones that download.) Photos has no throttle, just an off switch, which doesn’t really help because neither of its settings does what I want. Let it run, and no other app on any device can realistically access the Internet. Turn it off, and the photos never upload. It boggles the mind that the app was released this way and not fixed in the 15 months since (or, seemingly, in Sierra).

The standard advice is to install the Network Link Conditioner and use it to limit the bandwidth available to your Mac. To do this, you need to be a registered developer. Then you can download the “Hardware IO Tools for Xcode 7.3” and double-click the Network Link Conditioner.prefPane.

Note that if your Mac’s login account is a Standard rather than Admin user, you will not be able to click the button to enable Network Link Conditioner after installing it. System Preferences will beachball forever. However, because it affects the entire Mac, you can enable it from an Admin account and it will still limit the bandwidth of Photos running in another account. Even once it’s installed and enabled, Network Link Conditioner won’t work if you boot the Mac and log into a Standard account. You have to first log into an Admin account in order for it to load properly.

The problem with using Network Link Conditioner is that the network will also be slowed down for every other process on the Mac. Also, Photos may still monopolize the throttled connection and prevent other apps from doing anything. To fix this you would need to use a more involved method to limit the bandwidth for a particular process (via Rosyna Keller). I have not tried this, but it looks like that process would be cloudd and that it handles more than just Photos syncing, so this would still be an imperfect solution.

Previously: iCloud Photo Library: the Missing FAQ, More Problems With iCloud Photo Library Uploads.

And, speaking of Photos, Glenn Fleishman:

Yup, that’s right: hidden photos appear in plain sight in albums and the main view in Photos. Media marked hidden disappears only from Moments, Collections, and Years. If you use iCloud Photo Library, the same is true, because the photos or videos you’ve hidden need to sync among your devices so that they are in the same state on all of them.

Update (2016-07-08): Garrett Murray:

Had the same problem when Photos first came out. Took 3 weeks of night-only NLC uploading on my Mac to finish initial sync.

2 Comments RSS · Twitter

It would be interesting to see if having a router that does fq_codel improves this (or not). [https://www.bufferbloat.net/projects/codel/wiki/]

Caching server built into the sharing system preference (since High Sierra? Maybe earlier?) can dramatically help with bandwidth issues. Many people know it caches software updates, but it can also cache iCloud data and if you have multiple devices sharing the same iCloud based data it can make a significant difference in your Internet use.

Of course you need a machine, preferably always on, with enough disk space to cache things. I have a Mac Pro I leave on that does multiple things so adding a 2TB drive dedicated just to caching was not a big deal - and the cache does use most of it now. I can really tell when setting up a new iOS device and using the restore from iCloud feature.

I still think the original point of this article is valid - Apple does need to provide better network controls for background services and heck, any kind of view into their cloud syncing even if it was terminal only would be a huge improvement at this point. Sad that in all this time it's still not great :/

I know this is an old post but I got here via search so if someone else does too, perhaps this might also be useful.

Leave a Comment