web-dev-qa-db-fra.com

Mediawiki beaucoup plus lent dans Firefox

J'ai quelques sites Mediawiki (1.19.1 avec Vector Skin) sur l'hébergement partagé Dreamhost et j'ai constaté que l'accès via Firefox est beaucoup plus lent que via Chrome. Par exemple, à ce moment-là, après avoir nettoyé le cache dans les deux navigateurs:

Firefox

  • 11,1 secondes pour la première page (Modifications récentes)
  • 7,7 secondes pour la deuxième page (Accueil)

Chrome

  • 9,2 secondes pour la première page (Modifications récentes)
  • 3,2 secondes pour la deuxième page (Accueil)

Ces chiffres confirment les tests précédents, effectués à 2 jours différents il y a quelques semaines. S'il vous plaît noter l'énorme différence pour la deuxième page.

Une ancienne version de Mediawiki sur un autre serveur ne semble pas avoir ce problème. Firefox et Chrome ont des résultats similaires.

J'ai besoin de savoir comment rendre l'accès via Firefox aussi rapide que via Chrome, sans changer de société d'hébergement/de plan d'hébergement, de Mediawiki ni demander aux utilisateurs de modifier les valeurs par défaut de Firefox.

* HTTP RESPONSE HEADERS *

 EN-TÊTE DE FICHIERS HTML 
 Cache-Control private, must-revalidate, max-age = 0, public 
 Connexion Keep-Alive 
 Content-Encoding gzip 
 Content-Language es 
 Content-Type text/html; charset = UTF-8 
 Date jeu., 23 août 2012 06:35:11 GMT 
 Expire le, 01 janv. 1970 00:00:00 GMT 
 Délai d'attente Keep-Alive = 2 , max = 100 
 Serveur Apache 
 Encodage par transfert tronqué 
 Vary Accept-Encoding, Cookie 
 X-Content-Type-Options-options nosniff 
 X -Frame-Options DENY 
 
 EN-TETEURS DE FICHIERS CSS 
 Cache-Control public, max-age = 300, s-maxage = 300, public 
 Connexion Keep-Alive 
 Codage de contenu gzip 
 Content-Type text/css; charset = utf-8 
 Date jeu. 23 août 2012 06:35:13 GMT 
 Expire le jeudi 23 août 2012 06:40:17 GMT 
 Délai d'expiration Keep-Alive = 2 , max = 100 
 Dernière mise à jour mar, 21 août 2012 21:59:38 GMT 
 Serveur Apache 
 Encodage de transfert tronqué 
 Vary Acod-Encoding 
 X-Content-Type-Options nosniff 
 
 EN-TETEURS DE FICHIERS JAVASCRIPT: 
 Cache-Control public, max-age = 300, s-maxage = 300, public 
 Connexion Keep-Alive 
 Codage de contenu gzip 
 Content-Type text/javascript; charset = utf-8 
 Date jeu. 23 août 2012 06:35:13 GMT 
 Expire jeudi 23 août 2012 06:40:14 GMT 
 Délai d'expiration Keep-Alive = 2 , max = 100 
 Dernière mise à jour mer., 22 août 2012 12:55:25 GMT 
 Serveur Apache 
 Encodage de transfert tronqué 
 Vary Acod-Encoding 
 X-Content-Type-Options nosniff 
 
 EN-TÊTE DES FICHIERS D'IMAGES (PNG): 
 Octets accept-Ranges 
 Cache-Control max-age = 2592000 , public 
 Connexion Keep-Alive 
 Contenu-Longueur 206 
 Contenu-Type image/png 
 Date jeu., 23 août 2012 06:35:13 GMT 
 Etag "ce-4c25eaaf8f780" 
 Expire le samedi, 22 septembre 2012 06:35:13 GMT 
 Délai d'attente Keep-Alive = 2, max = 99 
 Dernière modification le mercredi. , 13 juin 2012 18:22:38 GMT 
 Serveur Apache 
4
Osvaldo

Vous devez d'abord tester le site sur http://tools.pingdom.com/ pour voir quels fichiers sont les plus longs à charger. Plus important encore, s'agit-il du temps de connexion et des recherches, ou s'agit-il du transfert de fichier? Si c'est le premier cas, vous devez vous pencher sur un meilleur hébergement. Dans ce dernier cas, vous devrez lire le reste de cette réponse.

Maintenant, avant d’en dire plus, essayez avec différents résolveurs DNS: le DNS public Google, OpenDNS et les paramètres par défaut de votre fournisseur de services Internet. Si vous chargez un grand nombre de fichiers de nombreux domaines différents , cela prendra plus de temps que du même domaine, car il faudra du temps pour résoudre plus de domaines. Une autre chose importante à tester est la rapidité du transfert initial. Le code HTML se charge-t-il rapidement, mais le chargement des images et des feuilles de style prend plus longtemps? Ou le code HTML est-il diffusé lentement afin que les navigateurs ne puissent pas récupérer les ressources rapidement?

Retour à l'optimisation:

  • Essayez de réduire le nombre de ressources que vous devez charger. Peut-être mettre le JS à la fin du HTML, cela augmentera considérablement la vitesse.
  • Vous pouvez encore réduire les CSS et JS en utilisant http://cssminifier.com/ et http://refresh-sf.com/yui/ respectivement (ce dernier peut aussi compresser CSS)
  • Comment sont vos images? Est-ce qu'ils prennent beaucoup de temps à charger? Vous pouvez essayer de les optimiser en les compressant ou en réduisant la résolution.
  • Votre serveur utilise-t-il GZIP? Vous économiserez jusqu'à 80% de bande passante (et améliorerez les performances)
  • Recherchez un CDN tel que CloudFlare (http://www.cloudflare.com) qui réduit automatiquement vos ressources ET les met en cache. (La mise en cache pourrait être effectuée avec le mod_pagespeed de Google à l'adresse https://developers.google.com/speed/pagespeed/ )
1
ionFish

Vous pouvez faire ce que runrunforest a suggéré sur SO.SE . Fondamentalement, ajoutez un en-tête à votre fichier .htaccess et définissez exactement quels fichiers doivent être mis en cache (vos images, css et JS).

WARNING: Firefox rencontre un problème courant qui consiste à ne pas mettre à jour la page une fois mise en cache. La plupart des gens essaient d'empêcher Firefox de mettre des pages en cache.

Autrepages suren-têtes de mise en cache . ( spécifique à PHP )

Autre que cela, le réglage pourrait être votre meilleur pari. En fonction du CSS/JavaScript, Firefox affiche bien certains effets spéciaux (coins arrondis, etc.) différemment des autres navigateurs, ce qui ralentit le tracé de la page par rapport aux autres navigateurs.

Examinez diverses techniques d’optimisation du code - du temps de chargement, il semble que votre connexion actuelle soit assez lente. Certaines techniques sont

  • Optimisation JavaScript : Utilisez JSLint ou un autre service permettant de nettoyer votre JavaScript.
  • Sprites CSS : Bien que certains disent que c'est obsolète simplement parce que tout le monde a assez de connexions pour que cela ne fasse pas assez de différence, cela peut considérablement réduire HTTPRequests et augmenter les temps de chargement. Étant donné que Firefox ne met pas ces documents en cache, il serait utile de limiter le nombre.
  • Vérifiez votre CSS/HTML/JavaScript contre http://caniuse.com/ pour voir si le code n'est pas optimisé pour Firefox.
0
Christopher