Dépannage de Safari: chargements de page lents

Safari, avec à peu près tous les autres navigateurs, inclut désormais la prélecture DNS, une fonctionnalité conçue pour faire de la navigation sur le Web un expérience plus rapide en regardant tous les liens intégrés dans une page Web et interroger votre serveur DNS pour résoudre chaque lien à son adresse IP réelle.

Lorsque la prélecture DNS fonctionne correctement, au moment où vous sélectionnez un lien sur un site Web, votre navigateur connaît déjà l'adresse IP et est prêt à charger la page demandée. Cela signifie des temps de réponse très rapides lorsque vous passez d'une page à l'autre.

Alors, comment cela peut-il être une mauvaise chose? Eh bien, il s'avère que la prélecture DNS peut présenter des inconvénients intéressants, mais uniquement dans des conditions spécifiques. Alors que la plupart des navigateurs ont désormais la prélecture DNS, nous allons nous concentrer sur Safari, car c'est le navigateur leader pour le Mac.

Lorsque Safari charge un site Web, la page est parfois rendue et semble prête à être consultée par son contenu. Mais lorsque vous essayez de faire défiler la page vers le haut ou vers le bas ou de déplacer le pointeur de la souris, vous obtenez un curseur en rotation. Vous remarquerez peut-être que l'icône d'actualisation du navigateur continue également de tourner. Tout cela indique que même si la page a été rendue avec succès, quelque chose empêche le navigateur de répondre à vos besoins.

Il y a plusieurs coupables possibles. La page peut contenir des erreurs, le serveur du site peut être lent ou une partie hors site de la page, telle qu'un service publicitaire tiers, peut être en panne. Ces types de problèmes sont généralement temporaires et disparaîtront probablement en peu de temps, de quelques minutes à quelques jours.

Les problèmes de préchargement DNS fonctionnent un peu différemment. Ils affectent généralement le même site Web chaque fois que vous le visitez pour la première fois dans une session de navigateur Safari. Vous pouvez visiter le site tôt le matin et constater qu'il est extrêmement lent à répondre. Revenez une heure plus tard, et tout va bien. Le lendemain, le même schéma se répète. Votre première visite est lente, vraiment lente; toutes les visites ultérieures ce jour-là sont très bien.

Que se passe-t-il avec le préchargement DNS?

Dans notre exemple ci-dessus, lorsque vous vous rendez sur le site Web à la première heure le matin, Safari en profite pour envoyer des requêtes DNS pour chaque lien qu'il voit sur la page. Selon la page que vous chargez, il peut s'agir de quelques requêtes ou de milliers, surtout s'il s'agit d'un site Web qui contient de nombreux commentaires d'utilisateurs ou que vous visitez un forum d'un certain type.

Le problème n'est pas tant que Safari envoie des tonnes de requêtes DNS, mais que certains réseaux domestiques plus anciens les routeurs ne peuvent pas gérer la charge des demandes, ou que le système DNS de votre FAI est sous-dimensionné pour les demandes ou une combinaison des deux.

Il existe deux méthodes simples pour dépanner et résoudre les problèmes de performances de prélecture DNS. Nous allons vous présenter les deux méthodes.

Changer votre fournisseur de services DNS

La première méthode consiste à changer de fournisseur de services DNS. Beaucoup de gens utilisent n'importe quoi DNS leurs paramètres FAI leur dit d'utiliser, mais en général, vous pouvez utiliser n'importe quel fournisseur de services DNS que vous voulez. D'après notre expérience, le service DNS de notre FAI local est plutôt mauvais. Changer de fournisseur de services était une bonne chose de notre part; cela peut aussi être une bonne chose pour vous.

Vous pouvez tester votre fournisseur DNS actuel en suivant les instructions d'un guide en ligne.

Si après avoir vérifié votre service DNS vous décidez de changer pour un autre, la question évidente est, laquelle? Tu peux essayer OpenDNS ou DNS public de Google, deux fournisseurs de services DNS populaires et gratuits, mais si cela ne vous dérange pas de faire quelques ajustements, vous pouvez utiliser un guide pour tester différents fournisseurs de services DNS afin de déterminer celui qui vous convient le mieux.

Une fois que vous avez choisi un fournisseur DNS à utiliser, vous pouvez modifier les paramètres DNS de votre Mac.

Une fois que vous avez changé de fournisseur DNS, quittez Safari. Relancez Safari, puis essayez le site Web qui vous causait des problèmes répétés.

Si le site se charge correctement maintenant et que Safari reste réactif, alors vous êtes prêt; le problème venait du fournisseur DNS. Pour vous en assurer, essayez de charger à nouveau le même site Web après avoir éteint et redémarré votre Mac. Si tout fonctionne toujours, vous avez terminé.

Sinon, le problème est probablement ailleurs. Vous pouvez revenir à vos paramètres DNS antérieurs ou simplement laisser les nouveaux en place, surtout si vous êtes passé à l'un des fournisseurs DNS que nous avons suggérés ci-dessus; les deux fonctionnent très bien.

Désactiver le prélecture DNS de Safari

Si vous rencontrez toujours des problèmes, vous pouvez les résoudre en ne visitant plus jamais ce site Web ou en désactivant la prélecture DNS.

Ce serait bien si la précharge DNS était un paramètre de préférence dans Safari. Ce serait encore mieux si vous pouviez désactiver la prélecture site par site. Mais comme aucune de ces options n'est actuellement disponible, nous devrons utiliser une approche différente pour désactiver la fonctionnalité.

  1. Terminal de lancement, situé à /Applications/Utilities.

  2. Dans la fenêtre Terminal qui s'ouvre, saisissez ou copiez/collez la commande suivante:

    les valeurs par défaut écrivent com.apple.safari WebKitDNSPrefetchingEnabled -boolean false. 
  3. presse Entrer ou Revenir.

  4. Vous pouvez alors quitter Terminal.

Quitter et relancer Safari, puis revisitez le site Web qui vous causait des problèmes. Cela devrait bien fonctionner maintenant. Le problème était probablement un ancien routeur du réseau de votre maison. Si vous remplacez le routeur un jour ou si le fabricant du routeur propose une mise à niveau du micrologiciel qui résout le problème, vous souhaiterez réactiver la prélecture DNS. Voici comment.

  1. Lancer Terminal.

  2. Dans la fenêtre Terminal, saisissez la commande suivante:

    les valeurs par défaut écrivent com.apple.safari WebKitDNSPrefetchingEnabled. 
  3. presse Entrer ou Revenir.

  4. Vous pouvez alors quitter Terminal.

C'est ça; vous devriez être prêt. À long terme, vous êtes généralement mieux avec la prélecture DNS activée. Mais si vous visitez fréquemment un site Web qui rencontre des problèmes, la désactivation de la prélecture DNS peut rendre la visite quotidienne plus agréable.