20 votes

MacOS networking brutalement lent en utilisant VNC ou Apple Remote Desktop

Accéder à un Mac en utilisant Apple Remote Desktop ou VNC est brutalement lent. J'essaie d'écrire des logiciels et c'est trop pénible à utiliser. L'écran ne se rafraîchit pas dans un laps de temps utile. J'ai fait des recherches sur Google et je n'ai rien trouvé - surtout... En ce moment, j'utilise Monterey, ce qui change un peu la solution. Mais le problème remonte à plusieurs années.

23voto

PrecisionPete Points 149

Je présente ici ma solution pour aider, je l'espère, d'autres personnes qui luttent encore ou qui ont abandonné.

Le problème n'est pas ARD ou VNC en soi. Mais la configuration par défaut de la pile TCP de MacOS. À un moment de l'histoire ancienne, Apple a modifié les paramètres réseau par défaut pour essayer d'économiser sur le trafic réseau. Ainsi, il n'enverra pas de paquet ack de retour avant d'avoir collecté suffisamment de paquets pour que le voyage en vaille la peine. Cela a probablement fait une grande différence avec les modems commutés. Mais pour une application en temps réel comme la visualisation de bureau à distance, cela la rend inutilisable. Et ma connexion par fibre optique à 1Gbps ne se soucie certainement pas de quelques paquets supplémentaires...

La réponse est de fixer : net.inet.tcp.delayed_ack=0 sur /etc/sysctl.conf . Maintenant, il va envoyer les paquets Ack immédiatement (comme tout le monde sur Internet). C'est tout l'intérêt d'un ack...

La deuxième partie du problème est que le /etc/sysctl.conf a été déprécié depuis Big Sur y Monterey . Finalement, j'ai trouvé la solution en faisant un fichier plist dans /Library/LaunchDaemons . Il sera chargé à chaque démarrage et sera un correctif permanent.

La solution est facile à trouver si vous connaissez déjà la réponse.

Il suffit de créer ce fichier, de redémarrer, et de vivre heureux pour toujours...

sudo vi /Library/LaunchDaemons/com.startup.sysctl.plist :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.startup.sysctl</string>
    <key>LaunchOnlyOnce</key>
    <true/>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/sbin/sysctl</string>
        <string>net.inet.tcp.delayed_ack=0</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Ok. C'est mieux. Mais VNC est toujours un peu lent. Si vous voulez que ça aille encore mieux, installez le serveur xRDP sur le Mac.

J'ai utilisé une variation de ces instructions...

https://ryancreecy.com/2019/10/29/xrdp-on-mac.html

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