It's Always DNS (or IPv6)
Ugh. Systems when composed together often break in obnoxious ways. Also, when there’s a problem, the answer used to be “it’s always DNS”, but now it can also be “IPv6” in some cases.
I mostly use Linux (and sometimes FreeBSD) for dedicated and cloud servers, iOS mobile (phone and tablet), sometimes Android-forks for mobile stuff (I haven’t managed to find a great Android fork yet, but I’m watching ~5 of them pretty actively), and Mac OS for laptops/desktops.
Unfortunately, my work at Evertas Insurance is using Microsoft 365/etc. stuff exclusively, even though almost every employee uses a non-Windows laptop of some kind (Macs frequently, Qubes or Linux sometimes). People are using Windows 10 or 11 in VMs. The use of Microsoft pre-dates me, and is mostly for compliance reasons (we process a lot of customer data, and one advantage of the Microsoft ecosystem is a lot of the compliance tooling is well developed and reasonably well integrated). As much as I dislike using the Microsoft tools (usually 50-80% as good as the best options on the market), the decision overall makes sense.
This was working ok for a while, but then suddenly got a lot worse. Documents would take 3-5 minutes to open, interacting was painfully slow. This is on a VM set to max performance and ~80% of the total resources on an incredibly fast laptop (a 16” MacBook Pro with 64GB RAM/8TB SSD and an M1 Max CPU). I basically dreaded doing anything on my laptop, so I was doing as much work as possible on my iPhone instead (which worked pretty well, but typing a 3 page document on a phone with thumbs is…not fun.)
CPU wasn’t even particularly pegged; it was just glacial for no obvious reason.
I got super fed up, so I ordered a Microsoft Surface Pro 9, which I was going to pick up this week. Then I tweeted in complaint:
Some off-base speculation/questions followed (this is Twitter, after all) — mostly about whether it was the M1/Rosetta Stone translation, Parallels virtualization, or Windows 11 ARM — but then a friend of mine from IRC from >30 years ago posted:
My first thought was “why should that have anything to do with it?”, but then I did it, just to rule it out. And it pretty much worked instantly (I cheated and just set the VM to use bridged networking vs shared networking; I’m going to figure out how to disable IPv6 in shared networking next). Maybe my IPv6 at home is broken, maybe IPv6 is broken somewhere at the MSP we use, maybe something else, but when there is no IPv6, there will be no IPv6 related problems.
So, sometimes it’s not DNS; it’s IPv6.