Optimisation des performances de votre site

Objectif

Ce guide est destinĂ© aux clients qui souhaitent amĂ©liorer le rendement de leur site web. Il vous permettra d’acquĂ©rir des connaissances fondamentales au sujet des facteurs qui peuvent affecter le rendement des sites web.

Découvrez comment améliorer le rendement de votre site web.

Warning

Ce cas d’application vous montrera comment utiliser une ou plusieurs solutions OVHcloud avec des outils externes. Il dĂ©crit les mesures Ă  appliquer dans un contexte prĂ©cis. Veuillez noter que ces mesures doivent ĂȘtre adaptĂ©es Ă  votre cas particulier. Si vous Ă©prouvez des difficultĂ©s Ă  appliquer ces mesures, veuillez contacter un prestataire de services spĂ©cialisĂ©s et/ou posez la question Ă  notre communautĂ© d'utilisateurs. OVHcloud ne peut pas vous fournir d’assistance technique Ă  ce sujet.

Prérequis


AccĂšs Ă  l'espace client OVHcloud

  • Lien direct : HĂ©bergements
  • Pour accĂ©der Ă  vos services : Web Cloud > HĂ©bergements > SĂ©lectionnez votre hĂ©bergement web

En pratique

1 - Définir la portée du problÚme

Les questions auxquelles vous devez répondre :

Si votre site web est lent, il est important de poser les questions ci-dessous pour préciser la portée du problÚme.

  1. Quand avez-vous remarqué un ralentissement sur votre site web ?

Cette question vous aide Ă  dĂ©terminer si le temps de latence est provoquĂ© par une modification rĂ©cente au site web, notamment un plugin mal optimisĂ© ou un nouveau thĂšme, susceptible d’envoyer de nombreuses demandes sortantes, qui pourraient ĂȘtre Ă  l’origine du ralentissement de votre site web.

  1. S’agit-il d’un problùme ponctuel ou le ralentissement est-il permanent?

Il serait judicieux de noter la date Ă  laquelle vous avez constatĂ© un ralentissement sur votre site, de dĂ©terminer ensuite si ce ralentissement est imputable Ă  une pointe de trafic, ou si d’autres tĂąches ont commencĂ© Ă  s’exĂ©cuter sur l'hĂ©bergement au mĂȘme moment.

  1. Le ralentissement affecte-t-il tout le site web ou juste une partie de celui-ci?

Si le problĂšme concerne seulement une seule page et non tout le site web, il est impĂ©ratif d’analyser cette page en particulier et de vĂ©rifier la requĂȘte ou le script qui serait Ă  l’origine du temps de latence.

  1. Le site affiche-t-il une page d’erreur ? Si oui, de quel type ?

Vérifiez si des erreurs sont créées pour identifier la source du temps de latence. Pour avoir un meilleur aperçu des erreurs qui surviennent sur votre hébergement, veuillez consulter les fichiers journaux.

Les réponses à ces questions peuvent vous aider à cibler certains points spécifiques et à identifier les zones problématiques pour améliorer le rendement du site.

L’utilisation des CMS comme WordPress, PrestaShop, Drupal ou Joomla! nĂ©cessite plusieurs bibliothĂšques pour qu’une seule page web puisse gĂ©rer un grand nombre d’élĂ©ments. Les navigateurs Internet doivent pouvoir charger et lire tous ces Ă©lĂ©ments. Nous fournissons des recommandations sur les solutions offertes par l’hĂ©bergement web, lesquelles peuvent ĂȘtre utilisĂ©es pour les CMS rĂ©pertoriĂ©s ci-dessus sur la page du produit.

Pour plus d’information sur les diffĂ©rents forfaits offerts, veuillez consulter cette page.

2 - Vérification de la version PHP

Utiliser la derniÚre version de PHP compatible avec votre site peut avoir une influence considérable sur son rendement. Pour vérifier si votre site web est compatible avec la derniÚre version PHP, veuillez vous référer à la documentation officielle de PHP.

PHP-FPM

Nous avons adaptĂ© PHP-FPM Ă  notre infrastructure web afin d’accĂ©lĂ©rer les rĂ©ponses PHP et de rĂ©duire substantiellement la charge du processeur central. Des tests ont rĂ©vĂ©lĂ© un rendement jusqu’à 7 fois supĂ©rieur Ă  l’ancien mĂ©canisme.

Certaines variables du serveur sont modifiĂ©es par l’utilisation de PHP-FPM :

Variablesans PHP-FPMavec PHP-FPM
max_execution_time120 s165 s
max_input_vars2 00016 000
memory_limit128 Mo512 Mo

Pour plus d’information sur les mises Ă  jour PHP, veuillez vous rĂ©fĂ©rer Ă  ce guide.

Pour basculer vers l’utilisation de PHP-FPM en version stable ou pour en savoir plus sur les options avancĂ©es de votre hĂ©bergement web, veuillez consulter ce guide.

Le fichier .ovhconfig fonctionne Ă  la racine de l’hĂ©bergement ou dans un sous-rĂ©pertoire de niveau 1 (ex. : /www/) mais pas dans des rĂ©pertoires de niveau 2 ou supĂ©rieurs (ex. : /www/test/ , /www/test/test2/)

3 - Vérification du contenu média (images, vidéos...)

Lorsqu’on accĂšde Ă  un site web, tout le contenu doit pouvoir ĂȘtre tĂ©lĂ©chargĂ© par le navigateur.

D'importants ralentissements peuvent ĂȘtre constatĂ©s si l'on tente d’accĂ©der Ă  un site web non optimisĂ© depuis un appareil mobile.

L’utilisation d’images et des vidĂ©os compressĂ©es constitue un excellent moyen de diminuer le temps de chargement. De nombreux algorithmes et outils peuvent ĂȘtre utilisĂ©s pour optimiser votre contenu. Il existe par ailleurs des plugins pour la plupart des CMS courants. C’est Ă  vous de choisir ceux qui rĂ©pondent Ă  vos besoins spĂ©cifiques.

Pour plus d’information Ă  ce sujet, veuillez vous rĂ©fĂ©rer Ă  l’étape 5 ci-dessous.

4 - Optimisation de vos scripts

Établissez une corrĂ©lation entre les graphiques d’utilisation des ressources de votre hĂ©bergement (voir ci-dessous pour plus d’information) pour dĂ©terminer l’origine des retards et consultez les fichiers journaux en vous rĂ©fĂ©rant aux dates de ces pointes d’utilisation.

Vous pouvez accĂ©der Ă  vos logs, aux statistiques et aux graphiques directement Ă  partir de l’espace client OVHcloud.

Comment accéder aux statistiques et logs :

Cliquez sur les onglets ci-dessous pour afficher successivement chacune des 3 étapes.

Étape 1
Étape 2
Étape 3

Accédez à la page Hébergements, puis choisissez l'hébergement web concerné.

Web Hosting

Comment accéder aux graphiques :

  1. Cliquez sur Hébergements dans la colonne de gauche puis sélectionnez l'hébergement web concerné.
  2. Sur la page qui s'affiche, cliquez sur l’onglet Statistiques et logs. DĂ©filez jusqu’au bas de la page oĂč se trouve le graphique liĂ© Ă  l’utilisation de votre hĂ©bergement.
  3. SĂ©lectionnez le type d’information ainsi que la pĂ©riode des donnĂ©es affichĂ©es.
graphs

Quels sont les diffĂ©rents types de renseignements qui peuvent ĂȘtre affichĂ©s ?

  • RequĂȘtes HTTP: Indique le nombre moyen de consultations du site. Les consultations sont classĂ©es selon le statut HTTP 2xx/3xx/4xx/5xx.

  • Temps de rĂ©ponse moyen: Indique le temps de rĂ©ponse moyen d’une page. Il y a une distinction entre les pages statiques et les pages dynamiques.

  • DĂ©passement du seuil des ressources: Ce graphique illustre l’utilisation par les travailleurs PHP pour vous orienter vers un forfait d’hĂ©bergement web diffĂ©rent le cas Ă©chĂ©ant. L’utilisation de PHP-FPM peut contribuer Ă  la diminution des travailleurs PHP.

  • Utilisation du processeur central : Affiche l’utilisation du processeur central par votre site web. Elle pourrait vous permettre d’identifier une surcharge Ă©ventuelle du processeur central.

  • Connexions sortantes: Cette fonctionnalitĂ© vous permet de voir la requĂȘte TCP Ă©mise par le serveur; par exemple en cas de piratage de votre site web, le serveur pourrait ĂȘtre utilisĂ© pour attaquer d’autres sites web externes. Vous pouvez Ă©galement vĂ©rifier les appels externes envoyĂ©s par des modules comme Facebook, Twitter etc. La rĂ©duction du nombre de requĂȘtes TCP sortantes constitue un excellent moyen de diminuer le temps de chargement, car si le serveur dont vous sollicitez le contenu tarde Ă  rĂ©pondre, le temps de chargement de votre site web augmentera.

  • Commandes FTP : Affiche les diffĂ©rentes commandes FTP qui ont Ă©tĂ© utilisĂ©es par l’hĂ©bergement. Par exemple, les tentatives de connexion qui ont rĂ©ussi et en Ă©chec, les tĂ©lĂ©chargements, les chargements et la suppression des fichiers, etc.

Les deux catĂ©gories suivantes sont visibles seulement si vous utilisez actuellement une base de donnĂ©es dans votre forfait d’hĂ©bergement. SĂ©lectionnez le nom de votre base de donnĂ©es et la pĂ©riode souhaitĂ©e.

  • Temps de rĂ©ponse SQL : Affiche le temps de rĂ©ponse aux requĂȘtes.

  • RequĂȘtes SQL: Affiche le nombre de requĂȘtes.

5 - VĂ©rification des requĂȘtes sur le rĂ©seau

La Surveillance rĂ©seau constitue un outil d’analyse utile qui est intĂ©grĂ© au navigateur Mozilla Firefox et qui permet d’analyser en dĂ©tail le temps de chargement d’une page web.

Avec cet outil, vous pouvez vérifier les éléments de votre site qui sont plus lents ou plus lourds à charger. Il permet de circonscrire les images et le contenu qui augmentent la durée de chargement du site web et de définir des priorités si une optimisation est nécessaire.

Vous pouvez accéder à cet outil en appuyant sur la touche F12 de votre clavier (sur Firefox ou Chrome),

La rĂ©duction du nombre de requĂȘtes TCP sortantes constitue Ă©galement un excellent moyen de diminuer le temps de chargement, car si le serveur dont vous sollicitez le contenu tarde Ă  rĂ©pondre, le temps de chargement de votre site web augmentera Ă©galement.

CDN

Pour amĂ©liorer l’accĂšs au site web, les tĂ©lĂ©chargements et profiter d’un rĂ©fĂ©rencement naturellement optimisĂ©, vous pourriez utiliser le OVHcloud CDN (Content Delivery Network) pour stocker vos fichiers, applications et sites Ă  un endroit plus proche de vos utilisateurs finals.

Ainsi, vous améliorez le temps de réponse pour les visiteurs dans le monde entier puisque les parties statiques de votre site web seront téléchargées directement par votre visiteur au point de présence le plus proche de leur emplacement.

Découvrez notre solution CDN.

6 - ContrÎle du systÚme de gestion du contenu (CMS) et des plugins utilisés

Info

Cette Ă©tape est facultative si vous n’utilisez pas de CMS.

Pour vous assurer que votre forfait d’hĂ©bergement est adaptĂ©e aux besoins de votre CMS, vous pouvez consulter une comparaison de nos services sur la page du produit.

  • Utilisation d’un plugin en cache : L’utilisation d’un CMS implique de nombreuses bibliothĂšques, si bien qu’une seule page web peut devoir traiter un grand nombre d’élĂ©ments. Pour optimiser votre CMS, vous devez utiliser plusieurs plugins en cache pour Ă©viter une rĂ©gĂ©nĂ©ration du contenu de votre site web chaque fois que le chargement d’une page est en cours. Il est recommandĂ© de rechercher des plugins en cache sur les sites web de la communautĂ© associĂ©s au CMS que vous utilisez (Joomla! - PrestaShop - WordPress) pour Ă©viter la rĂ©gĂ©nĂ©ration de tout le contenu de votre site web chaque fois que vous chargez la page web.

  • DĂ©sactivation des plugins non utilisĂ©s : Il serait judicieux de dĂ©sactiver, voire de supprimer, les plugins non utilisĂ©s pour amĂ©liorer le rendement de votre site web. Ceci Ă©vitera de tĂ©lĂ©charger des Ă©lĂ©ments inutiles.

7 - Optimisation de votre base de données

Info

Cette Ă©tape est facultative si vous n’utilisez pas de base de donnĂ©es.

Vous pouvez accĂ©der Ă  votre base de donnĂ©es Ă  l’aide de PHPMyAdmin; l'utilisation dĂ©taillĂ©e de PHPMyAdmin va au-delĂ  de la portĂ©e de ce guide. Par consĂ©quent, nous n’aborderons pas le sujet en dĂ©tail. Toutefois, il existe un grand nombre de guides externes qui traitent le sujet.

Comment accĂ©der Ă  la base de donnĂ©es par le biais de phpMyAdmin : Pour accĂ©der Ă  votre base de donnĂ©es par le biais de phpMyAdmin, procĂ©dez comme suit Ă  partir de l’espace client OVHcloud :

  • Cliquez sur votre domaine dans la section HĂ©bergements ;

  • Cliquez sur l’onglet Base de donnĂ©es ;

  • Cliquez sur les 3 points ... Ă  droite de votre base de donnĂ©es pour accĂ©der Ă  phpMyAdmin.

Pourquoi optimiser une base de données?

Vous devez entretenir votre base de donnĂ©es pour qu’elle continue de bien fonctionner. Autrement dit, les informations contenues dans la base de donnĂ©es doivent ĂȘtre renvoyĂ©es au script qui les a demandĂ©es le plus tĂŽt possible. Pour ce faire, la base de donnĂ©es doit ĂȘtre bien structurĂ©e et optimisĂ©e. Nous allons voir comment optimiser votre base de donnĂ©es.

Dans la base de données

  • Indexer la base de donnĂ©es : Pour augmenter la vitesse des recherches pendant une requĂȘte, vous devez indexer les champs qui sont utilisĂ©s dans les clauses WHERE. Par exemple : Vous recherchez souvent une personne par ville. Vous devez indexer le champ « ville » avec la requĂȘte suivante :
ALTER TABLE `test` ADD INDEX (`ville`);
  • Nettoyer la base de donnĂ©es : Existe-t-il des donnĂ©es que vous n’utilisez plus? Pourquoi ne pas les archiver? Cela permet de rĂ©duire la taille de vos tables de donnĂ©es et il faudra moins de temps pour interroger la base de donnĂ©es.

Dans vos scripts

  • Afficher la limite : Restreignez le nombre de rĂ©sultats affichĂ©s (par exemple : 10 par page) dans la partie LIMITE de votre requĂȘte SQL.

  • Ordonner les requĂȘtes : Regroupez vos requĂȘtes au dĂ©but du script comme suit :

open_connection
requĂȘte1
requĂȘte2
...
close_connection

Afficher...
Traiter les données
Bouclage des données...
Afficher...
...

Une dĂ©connexion aprĂšs la requĂȘte permet au serveur de la base de donnĂ©es d’ĂȘtre immĂ©diatement disponible pour d’autres requĂȘtes (et Ă©vite l’erreur “User already has more than max_user_connections active connections”).

Optimiser votre base de données en utilisant la mémoire cache

  • S’il y a dans votre base de donnĂ©es des Ă©lĂ©ments qui ne chargent pas, vous devez les mettre en cache. Cette astuce rĂ©duit substantiellement la nĂ©cessitĂ© d’accĂ©der Ă  votre base de donnĂ©es et accĂ©lĂšre le temps de chargement de votre site.

  • Vous pouvez Ă©galement exĂ©cuter une session en cache, en d’autres termes, vous mettez les rĂ©sultats de la recherche dans une variable de session. De cette façon, vous n’avez pas besoin d’exĂ©cuter une requĂȘte identique la prochaine fois; il suffit de rĂ©cupĂ©rer les variables de la session.

  • RĂ©cupĂ©rez seulement les donnĂ©es utilisĂ©es : Dans vos requĂȘtes SQL, assurez-vous que vous avez sĂ©lectionnĂ© uniquement ce dont vous avez besoin, et que vous n’avez pas oubliĂ© les liens entre les tableaux.

Par exemple :

(where table1.champs = table2.champs2)

Éviter les options qui font appel à une utilisation intensive des ressources :

Évitez d’utiliser la clause « HAVING » qui peut ralentir les recherches. Évitez Ă©galement la clause « GROUP BY », Ă  moins que son utilisation soit absolument nĂ©cessaire.

Web Cloud Databases

Si, en dĂ©pit de toutes les modifications et mesures d’optimisation que vous avez appliquĂ©es, la base de donnĂ©es est toujours lente, ou si un grand nombre de requĂȘtes sont envoyĂ©es Ă  la base de donnĂ©es, vous pourrez Ă©ventuellement opter pour notre offre Web Cloud Databases pour disposer de plus de ressources. Consulter notre offre Web Cloud Databases sur le site.

Aller plus loin

Modifier la configuration d’un d’hĂ©bergement web

Créer une base de données sur son hébergement web

Premiers pas avec le service Web Cloud Databases

Pour des prestations spécialisées (référencement, développement, etc), contactez les partenaires OVHcloud.

Si vous souhaitez bénéficier d'une assistance à l'usage et à la configuration de vos solutions OVHcloud, nous vous proposons de consulter nos différentes offres de support.

Échangez avec notre communautĂ© d'utilisateurs.

Cette page vous a-t-elle aidé ?