Переживає високу затримку на wifi кожну другу секунду за допомогою macOS Sierra


11

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

Я думав, що винуватцем може бути мій старий маршрутизатор, тому я купив новий. Однак новий роутер лише погіршив ситуацію, переходячи від проблем із затримкою до приблизно 20% втрат пакету. Спробуйте це рішення з іншого питання про Super User, принаймні, знов втратили пакет до 0, але проблема із затримкою залишається.

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

Ось діаграма від speedtest.net. Кожен раз, коли я запускаю цей тест на wifi, я отримую приблизно один і той же результат: швидкість завантаження ~ 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 під час пінг-і, і не бачу жодної мережевої активності, окрім цих пінг.

Я не впевнений, що ще можу спробувати розібратися в цьому.


Це стандартні пінгви раз на секунду? Якщо ваш єдиний трафік - пінг за раз на секунду, він дозволяє 802.11 заощадити енергію, щоб запустити (між пінгвами), який псується із затримкою. Але це лише помилка вимірювання, оскільки реальні потоки TCP або UDP не будуть просто одним пакетом щосекунди, тому енергозбереження не запускатиметься. Подивіться, якщо sudo ping -i 0.1 192.168.1.1(десять пінг в секунду) має різні результати. Це змушує вашого клієнта надсилати один пінг за типовий інтервал маяка (десяту частину секунди), що може утримати економію енергії від ударів.
Spiff

Дякую Spiff, але економія енергії WiFi - це не проблема. У мене виникають ті самі проблеми, які передають відео в Інтернеті через WiFi, як вдома, так і на роботі. Як тільки я підключаю мережевий кабель, все добре. Мій телефон Android цілком здатний передавати HD в обох мережах WiFi.
Роберт

За відсутності будь-яких інших доказів, я все-таки вважаю, що економія енергії Wi-Fi є причиною зміни часу ping, який ви задокументували вище. Потокове відео в Інтернеті - це зовсім інша програма, ніж крихітні локальні пінгви раз на секунду, і вона має вирішувати проблеми самостійно.
Spiff

1
@spiff Я розумію, звідки ти родом. Я оновив свою відповідь аналогічними результатами із запропонованого пінгу в 10 Гц. Єдина відмінність зараз полягає в тому, що я втрачаю пакети через збільшення частоти.
Роберт

Який протокол ви використовуєте для потокового відео? Більшість сучасних потокових, навіть односторонніх "живих" відеозаписів, є достатньо довгими, щоб випадкові кілограми на 100-150 м, як ви задокументували, не повинні виснажувати буфер.
Spiff

Відповіді:


6

Я вирішив цю проблему для мене тут: https://apple.stackexchange.com/a/348574/317354

TL; DR:

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

5

Я відповідаю на те саме питання на багатьох форумах.

Відповідь - macOS пінг-шипи під час сканування Wi-Fi. Спробуйте запустити пінг і натисніть на піктограму WiFi вгорі - ви самі це побачите.

Тож щось на вашому комп’ютері запускає сканування WiFi. Швидше за все, це плагін веб-переглядача, який намагається вас геолокувати. Закрийте всі веб-переглядачі та перевірте, чи є покращення.


0

У мене була та сама проблема і виправити свою проблему.

Вам доведеться перезавантажити Mac і відкрити його в безпечному режимі. А потім знову перезапустіть Mac. Щоб відкрити mac у безпечному режимі, ви можете перезавантажити mac та утримувати перемикання, відкриваючи його знову.

Ви також можете подивитися ці веб-сайти ...

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 /


0

Я просто вбив процес Wi-Fi (який автоматично породжувався повторно) і все повернулося до норми. Ймовірно, короткочасне виправлення, але швидке та просте.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.