Rendre macOS plus rapide pour lister les partages réseau

Il y a un truc qui m’énerve vraiment avec macOS, c’est la lenteur des accès au réseau. Plus exactement, la lenteur pour afficher la liste des fichiers et des dossiers sur un partage. Et j’ai une solution.

macOS est franchement lent avec les accès au réseau, que ce soit en AFP (qui va disparaître) ou en SMB. J’avais déjà fait un truc sur le sujet, notamment pour accélérer les débits en SMB, mais si les débits suivent plus ou moins – c’est très visible en 10 Gb/s -, l’affichage des dossiers reste toujours aussi lents. Dans certains cas, sur des dossiers contenant beaucoup de sous-dossiers ou de fichiers, ça peut prendre plusieurs dizaines de secondes.

La roue tourne en bas à droite et macOS n’affiche pas les fichiers

Je ne suis visiblement pas le seul à avoir le problème, et ce long sujet, qui expérimente pas mal de choses, m’a donné une solution (presque) valable. Visiblement, macOS (et depuis pas mal d’années) a une gestion de l’ACK en TCP qui pose des soucis de performances (et de délai). Et la solution consiste soit à passer dans un mode de compatibilité, soit à désactiver complètement la fonction delayed ack. Je vous recommande la première solution, qui a fonctionné pour moi. Petit bonus, d’ailleurs, ça permet aussi d’accélérer pas mal les transferts vers les machines sous Windows.

Pour tester, il suffit d’utiliser la commande suivante et de vous déconnecter/reconnecter d’un partage. La valeur à la fin indique le mode : 2 pour la compatibilité, 0 pour désactiver. Attention, la commande ne fonctionne plus après un redémarrage.

sudo sysctl -w net.inet.tcp.delayed_ack=2

Si vous remarquez une différence (comme moi), vous pouvez modifier les réglages pour que ce soit permanent. La première ligne ouvre le fichier qui contient les réglages de macOS. Il faut inscrire la seconde ligne dedans (si elle n’existe pas) ou la modifier avec la bonne valeur, si elle existe (a priori peu probable). Ensuite, il suffit de redémarrer et ça devrait suffire.

sudo nano /etc/sysctl.conf
net.inet.tcp.delayed_ack=2

Chez moi, ça m’a changé la vie pour accéder à mes partages réseau, sur lesquels je stocke les archives du blog et tous les logiciels et programmes utilisés.