APFS considered harmful...


…or at least “not ready for prime time”.

It seems I wasn’t quite correct in my assessment of why my MacBook was sluggish. Full-disk encryption was indeed having a visible effect on performance, but even after turning it back off, I’ve still been seeing some pretty awful performance… after a few days of uptime.

There are two primary symptoms, both connected to filesystem performance: first, Time Machine backups take progressively longer each time (no matter how much data is being backed up), until it starts reporting that a typical 300MB backup will take more than an hour; and second, image-heavy web sites start loading very slowly, with JPEGs showing up ‘blocky’ while they’re rendering. If I don’t reboot when I detect these two issues (usually after about four days of uptime), then I’ll start having difficulty mounting and unmounting external devices and network volumes, and Disk Utility will show a SPoD. I’ve had to disable automatic backups, because I can’t put it to sleep until they finish (Time Machine will cheerfully corrupt your backup history if you disconnect from the file server while it’s running).

My recent vacation makes it difficult to be sure, since I turned the MacBook off after every use, instead of my usual “leave it up until it crashes”, but I think this is specific to the OS 10.14.4 release.

With all the problems they’re having with hardware and software, it seems the old cliché about “there’s no I in TEAM” could be rewritten as “there’s no QA in APPLE”.

Related, when I do reboot, the first thing I do is open top in a Terminal window and wait a minute or two until the load drops from ~50 to under 5; then I kick off a backup and start working.

Update

After a lot more testing, it seems that APFS is only responsible for about a third of the slowdown. The rest is coming from the TCP stack. Rebooting is still the only fix; I’ve tried switching between wired and wireless, changing out the USB-C ethernet adapter (I have like five brands of them, between home and office), manually resetting the interfaces, etc, etc.

If I work completely offline, local I/O still slows down over a few days, but if I’m online, network I/O gets worse faster. Still a problem after the 10.14.5 update, and I’m thinking it’s specific to the 12-inch MacBook hardware, since I don’t see it at all on the 15-inch MacBook Pro that’s usually on the other side of the kitchen table.


Comments via Isso

Markdown formatting and simple HTML accepted.

Sometimes you have to double-click to enter text in the form (interaction between Isso and Bootstrap?). Tab is more reliable.