11 votes

Pointes de latence sur le wifi - mesure d'économie d'énergie ?

Je constate des pics de latence intermittents lorsque je suis en wifi, mais uniquement lorsque j'envoie un signal à mon MBP depuis une autre machine et non lorsque j'envoie un signal du MBP à une autre machine. Cela semble causer des bégaiements avec Steam In-Home Streaming. Toute suggestion sera grandement appréciée !

Je suis persuadé que c'est le Mac qui est en cause et non le matériel de mise en réseau. Je l'ai constaté sur plusieurs points d'accès de différents fournisseurs et canaux. La 2.4G et la 5G sont toutes deux affectées.

Avec l'enregistrement wifi activé, rien n'est enregistré. /var/log/wifi.log pendant le test ping. Les services de localisation sont désactivés et je ne clique pas sur l'icône wifi pendant le test. J'ai essayé de réinitialiser le SMC.

Mise à jour : L'exemple ci-dessous est un exemple minimal. J'ai effectué ce test à de nombreuses reprises et pendant de longues périodes. J'ai constamment ingéré des données ping dans InfluxDB à l'aide de Telegraf. Aquí correspond aux 7 derniers jours, l'orange étant mon MacBook. Il y a quelques autres anomalies, mais il est clair que la latence élevée se produit depuis un certain temps.

Mise à jour 2 : Wireshark sur le MBP montre que le "temps de réponse" ICMP est constamment < 0,1ms pendant le test. Je pense qu'il s'agit du temps qui s'écoule entre l'arrivée de la requête et la sortie de la réponse.

Voici le test. 192.168.1.242 est mon MBP. Après avoir quitté (presque) toutes les applications :

craig@pluto ~> ping 192.168.1.242 -i 2
...
22 packets transmitted, 22 received, 0% packet loss, time 78ms
rtt min/avg/max/mdev = 1.037/*22.550*/*89.237*/28.546 ms

Mais les pings sortants sont corrects :

craig@Craigs-MBP ~> ping 192.168.1.3 -i 2
...
266 packets transmitted, 266 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.909/1.526/8.716/0.686 ms

Voici quelque chose de curieux. Si j'envoie rapidement des pings vers l'extérieur, la variance d'entrée disparaît !

craig@Craigs-MBP ~> ping 192.168.1.3 -i 0.2
...
417 packets transmitted, 417 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.984/1.469/3.799/0.290 ms

(pendant que le programme ci-dessus est en cours d'exécution)

craig@pluto ~> ping 192.168.1.242 -i 2
...
38 packets transmitted, 38 received, 0% packet loss, time 147ms
rtt min/avg/max/mdev = 1.001/*1.664*/3.758/0.767 ms

Dans ces conditions, je pense qu'il y a une sorte de mécanisme d'économie d'énergie qui éteint la radio.

craig@Craigs-MBP ~> pmset -g
System-wide power settings:
Currently in use:
 standbydelaylow      10800
 standby              1
 womp                 0
 halfdim              1
 hibernatefile        /var/vm/sleepimage
 powernap             1
 gpuswitch            2
 networkoversleep     0
 disksleep            10
 standbydelayhigh     86400
 sleep                0
 autopoweroffdelay    28800
 hibernatemode        3
 autopoweroff         1
 ttyskeepawake        1
 displaysleep         10
 highstandbythreshold 50
 acwake               0
 lidwake              1

enter image description here

enter image description here

enter image description here

Mise à jour 3 : Voici deux captures simultanées de paquets avec le "même" paquet ICMP mis en évidence. Le paquet de gauche a été capturé en utilisant tcpdump sur le point d'accès Ubiquiti UniFi auquel mon MBP est connecté, et la droite a été capturée sur le MBP. Vous pouvez voir que le numéro de séquence est le même. Mais le temps de réponse calculé du point d'accès est relativement élevé (71 ms), alors que le MBP a vu moins de 1 ms entre la demande et la réponse.

enter image description here

9voto

Jose Chavez Points 645

Oui, une telle mesure d'économie d'énergie existe bel et bien sur le Mac. Cette mesure est commune à tous les chipsets WiFi sur toutes les plateformes et tous les systèmes d'exploitation, et fait en fait partie de la norme WiFi elle-même.

Le PSM (mode d'économie d'énergie) du chipset WiFi prend plusieurs formes. Celui que vous expérimentez probablement est connu sous le nom de mode "veille connectée". Dans ce mode, il introduit une petite latence de moins de 100 ms (typiquement 50-100 ms) pour le premier paquet reçu après que le module a été mis en mode "connected-idle".

Il existe d'autres modes d'économie d'énergie qui permettent d'économiser plus d'énergie, mais par exemple, le mode de veille connecté introduit une latence supplémentaire de 300 ms, ce qui est plus que ce que vous mesurez ici.

Malheureusement, il ne semble pas y avoir d'interface officielle d'Apple pour modifier manuellement les modes d'économie d'énergie, ou pour désactiver certains modes d'économie d'énergie. La seule solution consiste à utiliser la radio pour quelque chose qui l'empêchera de se mettre en mode veille. Cela pourrait être fait par exemple avec un ping fonctionnant en arrière-plan de manière permanente. Évidemment, cela consommera plus d'énergie, ce qui peut être gênant lorsque l'on fonctionne sur batterie.

Cependant, malgré ce qui précède, vous devez savoir que ce mode d'économie d'énergie n'est pas vraiment quelque chose que l'utilisateur final est censé remarquer ou qu'il remarque normalement. Rappelez-vous que la latence n'affecte que le tout premier paquet reçu après que le module a été mis en mode "connected-sleep", et qu'il n'est mis en mode "connected-sleep" qu'après une période d'inutilisation.

Lors de l'utilisation de Steam In-Home Streaming, vous aurez un flux constant de paquets vers/depuis votre Mac. Cela signifie que le module WiFi ne va pas se mettre en mode veille pendant le streaming.

3voto

slm Points 4018

Je ne pense pas que votre conclusion soit correcte. Je continuerais à diagnostiquer le problème sans faire de suppositions sur la raison potentielle de votre problème intermittent de connectivité WiFi. Il peut y avoir toute une série de raisons et l'astuce avec ce type d'exercice de dépannage est d'éliminer les sources potentielles de problèmes jusqu'à ce que vous puissiez monter un dossier sur la cause de votre problème.

Pour commencer ping n'est pas vraiment un bon outil pour diagnostiquer des problèmes de ce type. Il peut être utile pour les problèmes bruts de connectivité, mais dans ce cas, j'utiliserais quelque chose comme PingPlotter (gratuit pour une utilisation de base) ou l'outil CLI mtr (disponible via brew .

ss1

L'image ci-dessus montre des barres rouges où mon Macbook Pro avait des problèmes intermittents de connexion au point d'accès WiFi. Ces problèmes étaient suffisamment isolés pour que nous puissions identifier qu'ils étaient causés par le point d'accès et non par le réseau WiFi du Macbook Pro.

Une fois que vous avez commencé à surveiller les choses, voyez si votre problème présente des tendances.

Tests de vitesse

Vous pouvez également découvrir des problèmes intermittents en utilisant quelque chose comme speedtest-cli .

$ speedtest
Retrieving speedtest.net configuration...
Testing from Spectrum (65.190.136.112)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Spectrum (Durham, NC) [30.67 km]: 16.144 ms
Testing download speed................................................................................
Download: 402.10 Mbit/s
Testing upload speed................................................................................................
Upload: 21.87 Mbit/s

Il existe une autre application qui est une interface graphique portant le même nom, Speedtest à partir de l'Appstore, ce qui peut s'avérer utile si vous préférez avoir une forme d'interface graphique de quelque chose comme speedtest-cli .

Un autre outil GUI pour l'analyse de votre réseau WiFi que j'ai trouvé utile est NetSpot . Il existe des options commerciales et gratuites pour l'utiliser.

Découvrir la vue

ss2

Outils WiFi intégrés

MacOS comprend également une application de numérisation de base. Il n'est pas du tout évident d'y accéder IMO. Pour y accéder, vous devez maintenir la touche Option enfoncée, puis cliquez sur l'icône de mise en réseau dans la barre de menus supérieure.

Menu WiFi

                                           ss3

Une fois la fenêtre de diagnostic ouverte, vous pouvez lancer d'autres outils à partir de celle-ci. C'est la partie de cette application que la plupart des gens semblent ignorer.

Une fois la fenêtre de diagnostic ouverte et concentrée, regardez dans la barre de menus et ouvrez le menu déroulant "Windows", qui contient plusieurs outils permettant d'analyser votre réseau.

Boîte de dialogue de diagnostic sans fil

ss3

Diagnostic sans fil dans la barre de menus supérieure

ss4

À partir de ce menu, vous pouvez lancer une série d'outils tels que "Logs" pour collecter des journaux détaillés ou "Performance" pour analyser votre connexion WiFi.

Dialogue sur les performances

ss5

Plongée plus profonde avec Wireshark

Si vous ne trouvez toujours pas la cause de vos problèmes de WiFi, vous pouvez demander l'aide de Wireshark . L'installation est assez simple, vous pouvez utiliser brew pour installer le DMG à travers les casks (CLI + GUI) ou vous pouvez installer la version CLI seulement à travers le vanilla brew formule.

Installation du DMG via cask

$ brew cask install wireshark

CLI uniquement

$ brew install wireshark 

Lorsque vous lancez l'interface graphique, vous devez lui indiquer l'interface réseau à partir de laquelle les données doivent être capturées. Ici, je lui indique de capturer les données à partir de mon interface WiFi, en0 .

ss6

Si vous double-cliquez sur le nom de l'interface, Wireshark démarre immédiatement une session de capture de paquets. Après l'avoir laissée se dérouler pendant un certain temps, si possible au cours d'un des scénarios de panne que vous essayez de résoudre, vous pouvez cliquer sur le carré rouge pour arrêter la capture (rouge #1 dans le diagramme ci-dessous).

Vous pouvez ensuite analyser les paquets capturés dans la zone rouge #2 de l'interface utilisateur et vous devriez être en mesure d'identifier les types de paquets (rouge #3, par exemple est une ping paquet).

ss7

Références

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X