web-dev-qa-db-fra.com

Stratégies pour la livraison très rapide de pages Web

Je lance un site Web avec une charge initiale de près de 9 Ko compressée .

enter image description here

Tous mes js sont chargés en retard avec requirejs et modernizer est la seule exception. Désormais, toutes mes pages Web sont mises en cache par Nginx et seulement 10 à 15% de résultats sont transmis au proxy principal . Et le cache est invalidé par les utilisateurs connectés en tant que proxy_cache_bypass . Donc, pour un utilisateur anonyme, c'est presque toujours un succès dans le cache.

J'ai quelques réglages de base du système d'exploitation avec

default via ip dev eth0  initcwnd 15                                          
net.ipv4.tcp_slow_start_after_idle 0

Malgré un cache et une taille importante, mes pages sont toujours take 2.5 – 3 seconds.

J'ai un score de yslow de

enter image description here

Et la vitesse de la page à

enter image description here

Existe-t-il des stratégies permettant de créer des pages Web encore plus rapidement que cela ? Fournir des pages à plus d'une seconde pour une charge utile de 10 Ko?

Notes: Mes serveurs fonctionnent sur un assez bon centre de données de Linode à Fremont.

5
Cherian

Tout d’abord: vous faites essentiellement beaucoup de choses très bien en ce moment. Cela se traduit par de bonnes notes dans PageSpeed ​​par exemple. N'oubliez pas non plus que la majeure partie du temps d'attente est passée sur le client, il est donc logique de l'optimiser avant de se plonger dans la configuration du serveur.

Voici quelques idées:

  • il y a beaucoup de demandes d'image, par exemple à votre sous-domaine kitchen. Si possible, combinez-les en une seule image.
  • Vous utilisez des scripts Java externes comme Uservoice. Ils ont tendance à ralentir un peu le chargement.
  • si vous ne le faites pas déjà, essayez de servir vos fichiers JS, CSS et images statiques à partir d'un sous-domaine CDN sans cookie.
5
j0nes

Une chose est de combiner et consolider vos fichiers .css et .js. Même s'ils sont généralement mis en cache, il est plus rapide de télécharger un fichier de 5 ko que de 5 fichiers de 1 ko.

2
willoller

Il semble que la plupart du temps de chargement de votre page est constitué d’images. Je sais que d’autres personnes ont dit cela, mais j’aimerais ajouter quelques éléments de preuve, car vous sembliez sceptique. Voir le profil Firebug ci-dessous.

Firebug profile of your site's load time

Donc, la première chose que je veux souligner est tout le gris/brun. C'est un temps bloquant où quelque chose - généralement les autres demandes, mais parfois JavaScript dans la page - empêche les autres demandes de commencer. Si ces images se trouvaient dans une requête ou si vous en aviez moins, votre site se chargerait plus rapidement.

Je ne vois pas non plus d'en-têtes d'expiration sur vos images, donc même lors des rechargements (qui sont beaucoup plus rapides), des blocages sont toujours en cours, car mon navigateur doit vérifier chaque image. avec le serveur pour voir s'il est mis à jour. Un en-tête d'expiration empêcherait cela.

2
Nick

1.Si votre hébergeur est plus éloigné, vous voudrez peut-être chercher un nouvel hôte. vous pouvez faire un test de ping si le temps de réponse est long, essayez le service d'hébergement à proximité.

2.S'il y a un problème avec la bande passante, le site peut être lent.

0
LINUX4U