Optimisation des applications web : compression des données

Nous avons vu dans un article précédent que la mise en place des directives de cache sur les ressources statiques d’une page web permet d’améliorer l’expérience utilisateur pour les utilisateurs ayant déjà accédé au site. Pour ceux qui visitent le site web pour la première fois cette technique n’a aucun impact sur les temps de réponse des pages. Heureusement il existe d’autres techniques qui permettent d’améliorer l’expérience utilisateur pour ces utilisateurs.

Une des techniques consistent à compresser les ressources textuelles pour réduire leurs tailles et par conséquent améliorer le temps de téléchargement et minimiser l’utilisation de la bande passante de l’infrastructure. Parmi les ressources candidates on peut lister html/php, javascript, feuilles de style, etc. Notons que la compression est supportée par tous les navigateurs récents du marché.

Pour illustrer ces propos, revenons sur la page d’accueil d’un site de jeu en ligne pour lequel JavaPerf Consulting est intervenu lors d’un audit de performance. Malheureusement, là encore, nos conseils n’ont pas été suivis.

La page d’accueil du site est composée d’un grand nombre de ressources qu’il est possible de compresser (environ 40% des requêtes http qui représentent 57% du volume de données à charger).

Le graphique ci dessous présente l’expérience utilisateur, correspondant à la première visite du site (à partir d’un navigateur IE8 localisé sur Paris). Ces informations sont fournies selon 3 axes d’analyse :

  • La durée pendant laquelle l’utilisateur est face à une page blanche ;
  • La durée de chargement du contenu de la page (hors chargement dynamique de ressources);
  • La durée de chargement du contenu de la page (y compris le chargement dynamique de ressources) ;

Dans l’illustration, le navigateur commence à afficher la page (first impression time) après 3,2 secondes, et la page est totalement chargée après 11 secondes. Certes ces temps de réponse ne sont pas dus uniquement à la problématique de compression, mais ils y contribuent dans une proportion qu’il est difficile d’estimer.

L’analyse du chargement de cette page d’accueil à l’aide d’un autre outil révèle également des problématiques particulières liées au chargement des librairies javascript. Nous reviendrons sur ce sujet dans un prochain billet.

http://www.jperf.com

Publicités

A propos jlerbsc

founder of JavaPerf Consulting Http://www.jperf.com
Cet article a été publié dans performance. Ajoutez ce permalien à vos favoris.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s