Here is an issue with at least Mac OSX v10.13.4 and 10.14.1. Not sure if it affection iOS devices as well.
The problem was still occuring on Mojave in 2018 but maybe fixed now.
Macbook location services does a full wifi scan every minute to get your location. This scan can cause interference and network latency between other nearby devices (even on separate wifi network).
The source of the problem was locationd and to fix the spikes go to Settings -> Security & Privacy -> Location Services -> (System Services) Details -> uncheck “Time Zone & System Customization”
It is checking time zone every minute or so.
When reported to Apple they marked it as a dupe, so hopefully it fixed soon.
—
Related
To check if the cause is Locationd. Open the console app and watch while you do a continuous ping. Every time you see latency spike, you’ll see entries for locationd. Go to System Preferences -> Security & Privacy -> Location Services. From there, you can disable and you’ll likely see the problem disappear. However, you lose the “find my mac” ability.
What may make it acceptable is going to system services (scroll down)->details->check show icon in menu bar when […]. Then, take a look at what is requesting location. E.g. Disallowing Evernote helped a lot. Prune down apps allowed to the minimum and the frequency of the spikes with hopefully go down to an acceptable level.
—
Turns out Google Earth is a QT app. QT has a “bearer” plugin which can frequently request wifi scans, killing network performance. See:
https://bugreports.qt.io/browse/QTBUG-65586?gerritReviewStatus=All
and https://lostdomain.org/2017/06/17/qt-qnetworkaccessmanager-causing-latency-spikes-on-wifi/
Until Apple and QT developers fix, possible workarounds are setting the QT_BEARER_POLL_TIMEOUT environment variable to -1 or disabling the wlan bearer plugin altogether
in the QT app.
(for Google Earth Pro: “sudo chmod 0 /Applications/Google\ Earth\ Pro.app/Contents/plugins/bearer/libqcorewlanbearer.dylib”)