Jump to content
spip93

Comment accélérer un site web ? Comment réduire le TTFB ?

Rate this topic

Recommended Posts

Bonjour à tous et à toutes,

 

(J'espère être dans la bonne section, auquel cas, veuillez m'excuser)

Après avoir constaté une dégringolade en terme de référencement naturel depuis septembre, et pour en connaitre la cause et redresser la barre, hier, on a fait un audit d'un des 3 sites e-commerce que j'administre* (sous Prestashop 1.6.1.5) avec My Ranking Metrics. Et, dans une des annexes du rapport d'audit, intitulée "les pages les plus rentables à travailler en premier", pour quasiment toutes les pages, c'est écrit "trop lente à télécharger (xxxxx ms)"
Avec mon patron, on essaye de savoir pourquoi telle ou telle page est trop lente à charger ? Et surtout comment l'(es) accélérer ?
 
De mon côté, je peux, par exemple, redimensionner les images qui sont indiquées comme redimensionnées (ex : quand on fait un clic droit (sur une photo de produit, sur une page catégorie) > Informations sur l'image, elles sont toutes indiquées "redimensionnée à 185 x 185")
Je peux aussi installer un module pour un lazy load et un autre pour un infinite loading sur les pages catégories. Tous les éléments (notamment les images) n'auront pas à être chargés dès le début.
Bref, je peux faire différentes choses de mon côté.
 
Ma question est qu'est-ce qu'on peut faire côté serveur pour l'accélérer ainsi que le temps de chargement des pages ? Est-ce qu'il n'y a pas des réglages à faire ? (Au niveau matériel) Est-ce qu'en passant, par exemple, sur un disque dur SSD, ça accélérerait beaucoup le chargement des pages, ou est-ce que ça serait anecdotique ? Est-ce qu'en changeant d'hébergeur ça changerait quelque chose (on est sur un serveur dédié chez OVH) ? Quelles autres pistes je pourrais explorer ? Est-ce qu'on peut mettre en place un CDN pour un site Prestashop ? Est-ce que c'est pertinent ?
 
D'après l'outil de Google PageSpeed Insights, par exemple sur la page la plus visitée de notre site, il indique que le TTFB (Time To First Byte) est trop long. Est-ce qu'on peut réduire le TTFB (Time To First Byte) ? Si oui comment ? A quel niveau (en gardant en tête que c'est un site sous Prestashop) ? Au niveau du serveur (via des réglages et/ou via un changement de matériel) ? Au niveau du site (via l'achat/installation de modules) ?
 
Je vous remercie par avance pour votre aide.
 
Bonne journée ?
 
* Pour la petite histoire, je précise que ce n'est pas moi qui les ai mis en place, mais mon prédécesseur que j'ai remplacé depuis 7 mois au poste de webmaster-infographiste.

Share this post


Link to post
Share on other sites

Bonsoir,

 

En ce qui concerne la page la plus visitée, je remarque qu'elle pèse tout de même 3MB ...

Il est clair que pour ceux qui ont un ADSL "en carton", comme moi, elle met tout de même plusieurs secondes à s'afficher.

 

Pas de souci pour ceux qui ont un accès à 20Mbits/s ou plus.

 

Difficile de répondre concernant ton serveur, sans en savoir un peu plus. Tu tournes quoi comme O/S, quel type de serveur, combien de coeurs (éventuellement la référence chez OVH) ?

Il est clair que des disques SSD amélioreraient la vitesse d'accès, surtout pour des disques NVMe qu'OVH propose sur quantité de serveurs .

 

Un disque SSD est typiquement 4 à 5 fois plus rapide qu'un disque SATA classique, et un disque SSD NVMe 3 à 5 fois plus rapide qu'un SSD classique.

 

Donc oui, avec une certitude absolue, des disques SSD amélioreraient la vitesse.

 

Dans les serveur OVH que je gère, un certain nombre tournent des disques SSD NVMe, et la différence est flagrante.

 

Un de mes infogérés s'était trompé en commandant son serveur l'année dernière et avait pris des disques SATA classiques (2TB) alors que je lui conseillais des SSD NVMe.

Au bout de quelques mois, il a changé vu que ses clients râlaient parce que leurs sites étaient bien trop lents et il a pris exactement le même modèle, même CPU, même RAM , mais avec SSD NVMe.

Il a remarqué tout de suite la différence, et maintenant son serveur ronronne tranquillement et ses clients ne lui cassent plus les pieds ! ;)

 

 

Share this post


Link to post
Share on other sites

Bonjour Dan,

 

Merci pour ta réponse.

Voici quelques infos supplémentaires concernant notre serveur (reférence chez OVH E3-SAT-3-32) :

CPU : Intel Xeon E3-1245v2

Cores/thread : 4c / 8t

Fréquence : 3.4 GHz+

RAM : 32 GB DDR3 1333 MHz

Disque dur : 2 x 2 TB SATA3

OS : Debian 7.10 (Wheezy) (Oldoldstable) (EOL 2018-05-31) (64bits)

PHP version (attention ça pique) : 5.4.45-0+deb7u11

Quand je passe la page catégorie en question à PageSpeed Insights, il me sort un score (en moyenne) de 45 (sur ordinateur) avec comme recommandation : Réduisez le TTFB
En cherchant sur Internet, je vois qu'on peut le réduire (notamment) à l'aide du cache (pourtant activé sous Presta).
Bon... je me mets en quête d'un module de cache sur Addons de Prestashop. Je demande conseil via le chat du site et la personne m'oriente vers un module à 150 € HT (le plus cher des modules de cache, mais aussi celui qui a la meilleure note et qui est le plus acheté/téléchargé)
Du coup, on a acheté ce module de cache. Je l'installe, je le configure, puis je refais le test avec PageSpeed Insights ...
Résultat : 46-48 comme score, ce qui n'est pas encore top.

Dans les recommandations, il (Google) me remet :
- "Réduisez les délais de réponse du serveur (TTFB)"
- Assurez-vous que le texte reste visible pendant le chargement des polices Web
- Évitez une taille excessive de DOM (2823 noeuds)
- Diffusez des éléments statiques grâce à des règles de cache efficaces (210 ressources trouvées)
- Réduisez la profondeur des demandes critiques (8 chaînes trouvées)

Comment est-ce que je peux faire pour améliorer ce score (notamment, comment réduire le TTFB) ?

Merci pour vos réponses

Bonne journée?

Share this post


Link to post
Share on other sites

Je dirais: commence par le plus évident !

 

Tu tournes un php obsolète sur un Debian obsolète.  Comment peut-on laisser aller un serveur ainsi ?

J'imagine aisément que tout le reste doit l'être aussi, par exemple apache et mysql ! :lol:

 

Tout ce que tu peux faire en ajoutant des plugins revient à ajouter un emplâtre sur une jambe de bois.

 

Donc, Debian à jour (version 9) et php 7.x (7.3 est le top, et BEAUCOUP plus rapide si ta version de Prestashop le permet)

Php7.x est plus de 2 fois plus rapide que php 5.4 !!!

Si 7.3 est trop récent, 7.1 est déjà beaucoup mieux que 5.4 !

 

Si tu ne sais pas comment t'y prendre, envoie-moi un MP, qu'on en discute.

 

Dan

 

PS: un peu de lecture :

https://kinsta.com/fr/blog/comparaison-php-7-hhvm/

ou encore, pour php 7.3

https://servebolt.com/wordpress-5-0-php-7-2-vs-php-7-3-performance-and-speed-benchmark/

Ils ne comparent qu'à partir de php 5.6, vu qu'ils n'ont pas voulu réveiller les dinosaures :lol:

 

Share this post


Link to post
Share on other sites

Bonjour Dan,

 

Merci pour ta réponse.

Impossible pour moi de passer à la version 7.3 de PHP car la version de Prestashop que j'aie (la version 1.6.1.5) ne fonctionne pas avec une version de PHP supérieure à 7.0. Je me renseigne et je fais des tests pour savoir si je peux passer en 7.1 voire 7.2, mais j'en doute.

Sinon pour Apache et pour MySQL, je me suis renseigné sur les versions installées :

- Apache : v 2.2.22

- MySQL : 5.5.58-0+deb7u1

Je suppose que c'est comme PHP et Débian : obsolète ??

Encore merci pour ton aide, tes lumières et tes conseils ? ?

 

Bonne journée ?

Share this post


Link to post
Share on other sites

Php 7.0 est déjà obsolète lui aussi !

https://www.php.net/supported-versions.php

Mais bon, il te permettrait tout de même d'être moins "hors des clous" que ta version actuelle et offre de meilleures performances.

 

En ce qui concerne apache et mysql, no comment !  :lol:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...