Испытывает высокую задержку на Wi-Fi каждую секунду с macOS Sierra

10

Я испытываю высокую задержку Wi-Fi каждую секунду на моем Macbook Pro, на котором установлена ​​последняя версия MacOS Sierra.

Я думал, что мой старый роутер может быть виновником, поэтому я купил новый. Однако новый маршрутизатор только усугубил ситуацию: от проблем с задержкой до потери пакетов около 20%. Попытка использовать это решение из другого вопроса суперпользователя, по крайней мере, снова снизила потерю пакетов до 0, но проблема с задержкой остается.

  • Пинг одного и того же маршрутизатора с другой машины через проводную сеть приводит к устойчивому пингу 2 мс.
  • Пинг с моего телефона по Wi-Fi приводит к устойчивому пингу 4 мс (старый телефон Android).
  • Выполнение тех же тестов в моей сети на работе дает точно такие же результаты. В качестве проблемы я выделил Wi-Fi моего Macbook Pro.

Вот диаграмма от speedtest.net. Каждый раз, когда я запускаю этот тест по Wi-Fi, я получаю примерно один и тот же результат: скорость загрузки ~ 5 секунд.

Скачать таблицу скоростей

При пинге моего маршрутизатора на 192.168.1.1 от моего MBP (по умолчанию 1 Гц) я получаю следующую схему:

64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=86.944 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=121.099 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=1.664 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=31.493 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=66.042 ms
64 bytes from 192.168.1.1: icmp_seq=5 ttl=64 time=99.786 ms
64 bytes from 192.168.1.1: icmp_seq=6 ttl=64 time=2.459 ms
64 bytes from 192.168.1.1: icmp_seq=7 ttl=64 time=2.183 ms
64 bytes from 192.168.1.1: icmp_seq=8 ttl=64 time=1.867 ms
64 bytes from 192.168.1.1: icmp_seq=9 ttl=64 time=2.662 ms
64 bytes from 192.168.1.1: icmp_seq=10 ttl=64 time=2.065 ms
64 bytes from 192.168.1.1: icmp_seq=11 ttl=64 time=0.877 ms
64 bytes from 192.168.1.1: icmp_seq=12 ttl=64 time=63.238 ms
64 bytes from 192.168.1.1: icmp_seq=13 ttl=64 time=101.419 ms
64 bytes from 192.168.1.1: icmp_seq=14 ttl=64 time=3.704 ms
64 bytes from 192.168.1.1: icmp_seq=15 ttl=64 time=36.746 ms
64 bytes from 192.168.1.1: icmp_seq=16 ttl=64 time=51.972 ms
64 bytes from 192.168.1.1: icmp_seq=17 ttl=64 time=86.453 ms
64 bytes from 192.168.1.1: icmp_seq=18 ttl=64 time=125.786 ms
64 bytes from 192.168.1.1: icmp_seq=19 ttl=64 time=1.113 ms
64 bytes from 192.168.1.1: icmp_seq=20 ttl=64 time=1.973 ms
64 bytes from 192.168.1.1: icmp_seq=21 ttl=64 time=2.575 ms
64 bytes from 192.168.1.1: icmp_seq=22 ttl=64 time=1.957 ms
64 bytes from 192.168.1.1: icmp_seq=23 ttl=64 time=2.209 ms
64 bytes from 192.168.1.1: icmp_seq=24 ttl=64 time=2.815 ms
64 bytes from 192.168.1.1: icmp_seq=25 ttl=64 time=1.924 ms
64 bytes from 192.168.1.1: icmp_seq=26 ttl=64 time=150.076 ms
64 bytes from 192.168.1.1: icmp_seq=27 ttl=64 time=53.943 ms
64 bytes from 192.168.1.1: icmp_seq=28 ttl=64 time=84.633 ms
64 bytes from 192.168.1.1: icmp_seq=29 ttl=64 time=109.776 ms

Пинг с частотой 10 Гц приводит к аналогичной схеме с потерей пакетов:

64 bytes from 192.168.1.1: icmp_seq=11 ttl=64 time=1.078 ms
64 bytes from 192.168.1.1: icmp_seq=12 ttl=64 time=1.347 ms
64 bytes from 192.168.1.1: icmp_seq=13 ttl=64 time=1.041 ms
64 bytes from 192.168.1.1: icmp_seq=14 ttl=64 time=1.031 ms
64 bytes from 192.168.1.1: icmp_seq=15 ttl=64 time=1.098 ms
64 bytes from 192.168.1.1: icmp_seq=16 ttl=64 time=1.098 ms
64 bytes from 192.168.1.1: icmp_seq=17 ttl=64 time=0.944 ms
64 bytes from 192.168.1.1: icmp_seq=18 ttl=64 time=3.185 ms
64 bytes from 192.168.1.1: icmp_seq=19 ttl=64 time=8.736 ms
64 bytes from 192.168.1.1: icmp_seq=20 ttl=64 time=6.846 ms
64 bytes from 192.168.1.1: icmp_seq=21 ttl=64 time=1.009 ms
64 bytes from 192.168.1.1: icmp_seq=22 ttl=64 time=0.900 ms
64 bytes from 192.168.1.1: icmp_seq=23 ttl=64 time=0.985 ms
64 bytes from 192.168.1.1: icmp_seq=24 ttl=64 time=0.898 ms
64 bytes from 192.168.1.1: icmp_seq=25 ttl=64 time=0.919 ms
64 bytes from 192.168.1.1: icmp_seq=26 ttl=64 time=3.679 ms
64 bytes from 192.168.1.1: icmp_seq=27 ttl=64 time=1.468 ms
64 bytes from 192.168.1.1: icmp_seq=28 ttl=64 time=6.889 ms
64 bytes from 192.168.1.1: icmp_seq=29 ttl=64 time=0.953 ms
64 bytes from 192.168.1.1: icmp_seq=30 ttl=64 time=1.076 ms
64 bytes from 192.168.1.1: icmp_seq=31 ttl=64 time=0.984 ms
64 bytes from 192.168.1.1: icmp_seq=32 ttl=64 time=0.946 ms
64 bytes from 192.168.1.1: icmp_seq=33 ttl=64 time=0.872 ms
64 bytes from 192.168.1.1: icmp_seq=34 ttl=64 time=0.844 ms
Request timeout for icmp_seq 35
64 bytes from 192.168.1.1: icmp_seq=35 ttl=64 time=169.385 ms
64 bytes from 192.168.1.1: icmp_seq=36 ttl=64 time=68.897 ms
64 bytes from 192.168.1.1: icmp_seq=37 ttl=64 time=203.066 ms
64 bytes from 192.168.1.1: icmp_seq=38 ttl=64 time=98.576 ms
64 bytes from 192.168.1.1: icmp_seq=39 ttl=64 time=0.891 ms
64 bytes from 192.168.1.1: icmp_seq=40 ttl=64 time=122.991 ms
64 bytes from 192.168.1.1: icmp_seq=41 ttl=64 time=18.420 ms
64 bytes from 192.168.1.1: icmp_seq=42 ttl=64 time=90.086 ms
64 bytes from 192.168.1.1: icmp_seq=43 ttl=64 time=1.029 ms
64 bytes from 192.168.1.1: icmp_seq=44 ttl=64 time=65.268 ms
64 bytes from 192.168.1.1: icmp_seq=45 ttl=64 time=92.355 ms
64 bytes from 192.168.1.1: icmp_seq=46 ttl=64 time=0.922 ms
64 bytes from 192.168.1.1: icmp_seq=47 ttl=64 time=66.303 ms
64 bytes from 192.168.1.1: icmp_seq=49 ttl=64 time=38.938 ms
Request timeout for icmp_seq 50
64 bytes from 192.168.1.1: icmp_seq=50 ttl=64 time=129.508 ms
64 bytes from 192.168.1.1: icmp_seq=51 ttl=64 time=24.909 ms
64 bytes from 192.168.1.1: icmp_seq=52 ttl=64 time=86.077 ms
64 bytes from 192.168.1.1: icmp_seq=53 ttl=64 time=0.967 ms
64 bytes from 192.168.1.1: icmp_seq=54 ttl=64 time=198.241 ms
64 bytes from 192.168.1.1: icmp_seq=55 ttl=64 time=93.977 ms
64 bytes from 192.168.1.1: icmp_seq=56 ttl=64 time=0.886 ms
64 bytes from 192.168.1.1: icmp_seq=57 ttl=64 time=70.865 ms
64 bytes from 192.168.1.1: icmp_seq=58 ttl=64 time=0.809 ms
64 bytes from 192.168.1.1: icmp_seq=59 ttl=64 time=41.784 ms
Request timeout for icmp_seq 61
64 bytes from 192.168.1.1: icmp_seq=62 ttl=64 time=90.258 ms
64 bytes from 192.168.1.1: icmp_seq=63 ttl=64 time=1.207 ms
64 bytes from 192.168.1.1: icmp_seq=64 ttl=64 time=56.740 ms
64 bytes from 192.168.1.1: icmp_seq=65 ttl=64 time=85.553 ms
64 bytes from 192.168.1.1: icmp_seq=66 ttl=64 time=0.877 ms
64 bytes from 192.168.1.1: icmp_seq=67 ttl=64 time=62.510 ms
64 bytes from 192.168.1.1: icmp_seq=68 ttl=64 time=1.423 ms
64 bytes from 192.168.1.1: icmp_seq=69 ttl=64 time=32.156 ms
Request timeout for icmp_seq 70
64 bytes from 192.168.1.1: icmp_seq=70 ttl=64 time=116.203 ms
64 bytes from 192.168.1.1: icmp_seq=71 ttl=64 time=12.917 ms
64 bytes from 192.168.1.1: icmp_seq=72 ttl=64 time=86.092 ms
64 bytes from 192.168.1.1: icmp_seq=73 ttl=64 time=0.886 ms
64 bytes from 192.168.1.1: icmp_seq=74 ttl=64 time=59.710 ms
64 bytes from 192.168.1.1: icmp_seq=75 ttl=64 time=90.512 ms
64 bytes from 192.168.1.1: icmp_seq=76 ttl=64 time=4.074 ms
64 bytes from 192.168.1.1: icmp_seq=77 ttl=64 time=111.984 ms
64 bytes from 192.168.1.1: icmp_seq=78 ttl=64 time=8.640 ms
64 bytes from 192.168.1.1: icmp_seq=79 ttl=64 time=152.531 ms
64 bytes from 192.168.1.1: icmp_seq=80 ttl=64 time=47.904 ms
64 bytes from 192.168.1.1: icmp_seq=81 ttl=64 time=0.907 ms
64 bytes from 192.168.1.1: icmp_seq=82 ttl=64 time=75.134 ms
64 bytes from 192.168.1.1: icmp_seq=83 ttl=64 time=1.012 ms
64 bytes from 192.168.1.1: icmp_seq=84 ttl=64 time=42.029 ms
64 bytes from 192.168.1.1: icmp_seq=85 ttl=64 time=116.824 ms
64 bytes from 192.168.1.1: icmp_seq=86 ttl=64 time=14.382 ms
64 bytes from 192.168.1.1: icmp_seq=87 ttl=64 time=49.502 ms
64 bytes from 192.168.1.1: icmp_seq=88 ttl=64 time=121.049 ms
64 bytes from 192.168.1.1: icmp_seq=89 ttl=64 time=21.011 ms
64 bytes from 192.168.1.1: icmp_seq=90 ttl=64 time=95.133 ms
64 bytes from 192.168.1.1: icmp_seq=91 ttl=64 time=1.043 ms
64 bytes from 192.168.1.1: icmp_seq=92 ttl=64 time=67.754 ms
64 bytes from 192.168.1.1: icmp_seq=93 ttl=64 time=0.876 ms
64 bytes from 192.168.1.1: icmp_seq=94 ttl=64 time=39.027 ms
64 bytes from 192.168.1.1: icmp_seq=95 ttl=64 time=110.931 ms
64 bytes from 192.168.1.1: icmp_seq=96 ttl=64 time=7.023 ms
64 bytes from 192.168.1.1: icmp_seq=97 ttl=64 time=36.249 ms
64 bytes from 192.168.1.1: icmp_seq=98 ttl=64 time=116.108 ms
64 bytes from 192.168.1.1: icmp_seq=99 ttl=64 time=11.732 ms
64 bytes from 192.168.1.1: icmp_seq=100 ttl=64 time=82.880 ms
64 bytes from 192.168.1.1: icmp_seq=101 ttl=64 time=0.956 ms
64 bytes from 192.168.1.1: icmp_seq=102 ttl=64 time=58.007 ms
64 bytes from 192.168.1.1: icmp_seq=103 ttl=64 time=126.818 ms
64 bytes from 192.168.1.1: icmp_seq=104 ttl=64 time=22.750 ms
64 bytes from 192.168.1.1: icmp_seq=105 ttl=64 time=99.126 ms
64 bytes from 192.168.1.1: icmp_seq=106 ttl=64 time=131.419 ms
64 bytes from 192.168.1.1: icmp_seq=107 ttl=64 time=28.596 ms
64 bytes from 192.168.1.1: icmp_seq=108 ttl=64 time=110.326 ms
64 bytes from 192.168.1.1: icmp_seq=109 ttl=64 time=5.859 ms
64 bytes from 192.168.1.1: icmp_seq=110 ttl=64 time=70.852 ms
64 bytes from 192.168.1.1: icmp_seq=111 ttl=64 time=0.855 ms
64 bytes from 192.168.1.1: icmp_seq=112 ttl=64 time=41.162 ms
64 bytes from 192.168.1.1: icmp_seq=113 ttl=64 time=114.014 ms
64 bytes from 192.168.1.1: icmp_seq=114 ttl=64 time=9.519 ms
Request timeout for icmp_seq 116
64 bytes from 192.168.1.1: icmp_seq=116 ttl=64 time=121.307 ms
64 bytes from 192.168.1.1: icmp_seq=117 ttl=64 time=16.106 ms
64 bytes from 192.168.1.1: icmp_seq=118 ttl=64 time=1.082 ms
64 bytes from 192.168.1.1: icmp_seq=119 ttl=64 time=1.086 ms
64 bytes from 192.168.1.1: icmp_seq=120 ttl=64 time=1.386 ms
64 bytes from 192.168.1.1: icmp_seq=121 ttl=64 time=1.002 ms
64 bytes from 192.168.1.1: icmp_seq=122 ttl=64 time=5.472 ms
64 bytes from 192.168.1.1: icmp_seq=123 ttl=64 time=1.060 ms
64 bytes from 192.168.1.1: icmp_seq=124 ttl=64 time=1.526 ms
64 bytes from 192.168.1.1: icmp_seq=125 ttl=64 time=0.998 ms
64 bytes from 192.168.1.1: icmp_seq=126 ttl=64 time=1.182 ms
64 bytes from 192.168.1.1: icmp_seq=127 ttl=64 time=0.942 ms
64 bytes from 192.168.1.1: icmp_seq=128 ttl=64 time=3.221 ms
64 bytes from 192.168.1.1: icmp_seq=129 ttl=64 time=16.895 ms
64 bytes from 192.168.1.1: icmp_seq=130 ttl=64 time=1.251 ms
64 bytes from 192.168.1.1: icmp_seq=131 ttl=64 time=3.832 ms
64 bytes from 192.168.1.1: icmp_seq=132 ttl=64 time=5.403 ms
64 bytes from 192.168.1.1: icmp_seq=133 ttl=64 time=1.194 ms
64 bytes from 192.168.1.1: icmp_seq=134 ttl=64 time=1.287 ms
64 bytes from 192.168.1.1: icmp_seq=135 ttl=64 time=2.274 ms
64 bytes from 192.168.1.1: icmp_seq=136 ttl=64 time=0.863 ms
64 bytes from 192.168.1.1: icmp_seq=138 ttl=64 time=1.200 ms

В словах: ~ 5 секунд обычного пинга, затем ~ 5 секунд серьезных проблем с задержкой или даже таймаутов, если частота пинга достаточно высока.

Я попытался выяснить, может ли это быть вызвано недавней установкой приложения, поэтому я уже отключил большинство приложений (Dropbox, Little Snitch). Сейчас у меня заканчиваются варианты. Я только что запустил Wireshark во время пинга и вообще не вижу сетевой активности, кроме этих пингов.

Я не уверен, что еще я могу попытаться выяснить это.

Robbert
источник
Являются ли эти стандартные пинг один раз в секунду? Если ваш единственный трафик пингуется один раз в секунду, это позволяет использовать 802.11 Power Save (между пингами), что приводит к задержке. Но это просто ошибка измерения, потому что реальные потоки TCP или UDP не будут представлять собой один пакет в секунду, поэтому функция энергосбережения не сработает. Посмотрите, если sudo ping -i 0.1 192.168.1.1(десять пингов в секунду) дает разные результаты. Это заставляет вашего клиента отправлять один пинг за типичный интервал маяка (десятая доли секунды), что может препятствовать
включению функции энергосбережения
Спасибо Spiff, но энергосбережение WiFi не является проблемой. Я испытываю те же проблемы с потоковым видео в сети через WiFi, как дома, так и на работе. Как только я подключаю сетевой кабель, все в порядке. Мой телефон на Android прекрасно поддерживает потоковую передачу HD в обеих сетях WiFi.
Роберт
В отсутствие каких-либо других доказательств я бы поспорил, что экономия энергии Wi-Fi является причиной изменения времени пинга, которое вы описали выше. Потоковое видео через Интернет - это совсем другое приложение, чем крошечные локальные пинг-сообщения один раз в секунду, и его следует устранять самостоятельно.
Spiff
1
@spiff Я понимаю, откуда ты. Я обновил свой ответ аналогичными результатами из предложенного пинга 10 Гц. Единственная разница сейчас в том, что я теряю пакеты из-за повышенной частоты.
Робберт
Какой протокол вы используете для потокового видео? Самая современная потоковая передача, даже одностороннее «живое» видео, буферизуется достаточно долго, поэтому случайные сбои 100-150 мс, как вы описали, не должны истощать буфер.
Spiff

Ответы:

5

Я решил эту проблему для меня здесь: https://apple.stackexchange.com/a/348574/317354

TL; DR:

  • Виновником является определение местоположения и сканирование Wi-Fi.
  • Проверьте услуги определения местоположения, которые вы включили
  • Удерживая Optionклавишу клавиатуры, нажмите значок WiFi на верхней панели инструментов, нажмитеEnable Wi-Fi Logging
  • Выполнить в терминале: ping 8.8.8.8 -i 0.1
  • Выполнить в терминале: tail -f /var/log/wifi.logв новом окне. Наблюдай бок о бок, жди сбоев.
  • Проверь логи, когда глюк наблюдался, убей программу.
ph4r05
источник
4

Я отвечаю на один и тот же вопрос на многих форумах.

Ответ - пики macOS во время сканирования WiFi. Попробуйте запустить пинг и нажать на иконку WiFi вверху - вы увидите это сами.

Таким образом, что-то на вашем компьютере вызывает сканирование WiFi. Скорее всего, это плагин для браузера, пытающийся найти вас. Закройте все браузеры и посмотрите, есть ли улучшения.

Cyberax
источник
0

У меня была такая же проблема, и я решил ее.

Вы должны перезагрузить Mac и открыть в безопасном режиме. А затем перезапустите Mac снова. Чтобы открыть Mac в безопасном режиме, вы можете перезагрузить Mac и удерживать нажатой клавишу Shift при открытии снова.

Вы также можете посмотреть этот веб-сайты ...

http://osxdaily.com/2016/09/22/fix-wi-fi-problems-macos-sierra/ http://osxdaily.com/2010/04/20/using-safe-boot-mode-in- Mac OS X/

ziyaayan
источник
0

Я просто убил процесс Wi-Fi (который автоматически перезапускался), и все вернулось на круги своя. Скорее всего, кратковременное решение, но быстро и просто.

Kanen
источник