Mise en cache

Pour un trafic efficace sur votre serveur et des sites web rapides.

La rapidité de votre site web est cruciale pour une bonne expérience utilisateur. Il est donc important de minimiser autant que possible la charge sur vos ressources telles que la RAM, l'espace disque, le processeur et le réseau.

Pour ce faire, il existe un moyen astucieux d'utiliser votre serveur et votre réseau le plus efficacement possible, tout en maintenant la rapidité de votre site web : la mise en cache.

  • Une charge minimale sur votre serveur et votre réseau
  • Accélère les sites web lents
  • Une expérience utilisateur optimale sur votre site web
Cloud back-up
Qu'est-ce que la mise en cache ?

Qu'est-ce que la mise en cache ?

La mise en cache consiste à stocker temporairement des données pour pouvoir y accéder plus rapidement. En stockant des copies temporaires d'un site web, l'ordinateur n'a plus besoin de régénérer les données. Le site web devient ainsi plus rapide.

Les avantages de la mise en cache

L'objectif de la mise en cache est d'accélérer le chargement des sites et des applications web. Des temps de chargement rapides, ainsi qu'une expérience utilisateur optimale sont donc les principaux avantages.
Étant donné que moins de ressources sont utilisées, votre site web sera plus stable en cas de gros pics de fréquentation.
Un site web plus rapide contribue également à l'optimisation pour les moteurs de recherche (SEO) de votre site web.

Pourquoi la mise en cache est-elle si rapide ?

  • Un cache consomme moins de ressources du serveur que le site web ou l'application qu'il tente d'accélérer.
  • Un cache stocke le contenu dans un format rapide et extensible.
  • La plupart des caches utilisent la RAM. Ce type de mémoire est particulièrement rapide, tant pour la lecture que pour l'écriture des données.
  • En raison de leur simplicité intrinsèque, les caches contiennent très peu d'intelligence, ce qui a pour effet de limiter la charge.

Comment fonctionne la mise en cache ?

Lorsqu'un internaute souhaite visiter votre site web, une requête est envoyée (via Internet) à votre serveur afin que celui-ci affiche le contenu de la page. Cette requête doit être traitée et fait peser une certaine charge sur la RAM, l'espace disque, le processeur et le réseau. Cela donne lieu à des ralentissements dans le renvoi du contenu.

La mise en cache réduit ce délai en stockant temporairement les données fréquemment consultées à un endroit différent et dans une structure simplifiée. En stockant ces données séparément, celles-ci ne doivent plus être demandées au serveur lors d'une nouvelle visite du site web. La page peut ainsi être affichée beaucoup plus rapidement.

Qu'est-ce que la mise en cache ?

Que se passe-t-il lorsque les données contenues dans le cache sont périmées ?

La copie de votre site web qui est stockée dans le cache n'est pas automatiquement mise à jour lorsque des modifications sont apportées à votre site web. Il est donc possible que votre visiteur voie des pages web périmées. Cela est particulièrement problématique si le contenu de votre site web est modifié souvent et rapidement, comme c'est p. ex. le cas pour les sites d'information.

La copie en cache a de toute manière une durée de validité limitée. En général, vous pouvez vous-même définir cette durée de mise en cache. Plus la fréquence des modifications de votre site web est élevée, plus vous devez faire en sorte que les données restent dans le cache pendant une courte période. Une fois le délai de mise en cache dépassé, l'application devra à nouveau demander les données au serveur.

Comment pouvez-vous supprimer les données périmées du cache ?

Lorsque les données sources sont modifiées alors qu'elles se trouvent encore dans le cache, l'application doit elle-même supprimer les éléments en question du cache. Cela se fait généralement dans la logique qui est exécutée lors de l'ajout, de la suppression ou de la modification des données sources. L'application recherche ensuite le bon endroit dans le cache pour y supprimer les éléments en question.

Cette action explicite empêche les sites web ou les applications d'afficher des sorties qui ne sont plus d'actualité.

Voulez-vous en savoir plus sur le fonctionnement et les avantages de la mise en cache ?

Quels types de données pouvez-vous mettre en cache ?

En principe, vous pouvez mettre en cache n'importe quel type de données. Mais pour que le cache soit efficace et pour éviter toute complication supplémentaire, mieux vaut utiliser le cache pour y stocker des données nécessitant beaucoup de ressources pour être calculées :

  • Résultats nécessitant une grande puissance de calcul
  • Calculs nécessitant beaucoup de RAM
  • Données externes potentiellement sensibles aux ralentissements du réseau
  • Données nécessitant beaucoup d'espace disque

Concrètement, il s'agit généralement des données suivantes :

  • Les sorties des bases de données
  • Les sorties de services web externes
  • Pages web entières
  • Données et objets internes
  • Données provenant de fichiers sur le disque

Les différents types de mise en cache

Tous les systèmes informatiques mettent automatiquement des données en cache. Même lorsque vous chargez des fichiers à partir du disque dur, le système d'exploitation conserve des parties du fichier dans la RAM. Les systèmes de bases de données font la même chose. Malheureusement, le système d'exploitation ne connaît pas le contexte de votre application et des systèmes de mise en cache spécialisés sont donc nécessaires pour obtenir le résultat souhaité.

Combell propose les systèmes de mise en cache suivants :

Varnish
Varnish

Un cache HTTP qui met en cache des pages entières. Il est prêt à l'emploi pour les pages web statiques. Le langage de programmation VCL intégré permet de définir des règles pour la mise en cache des pages dynamiques et personnalisées. Combell propose des modèles de configuration de Varnish pour des plateformes populaires telles que WordPress, Drupal et Magento.

En savoir plus sur Varnish
Redis
Redis

Un magasin clé-valeur distribué qui peut être utilisé pour stocker des données temporaires. Il est connu pour sa rapidité et sa flexibilité, et son accès doit se faire à partir de l'application. Des plateformes telles que WordPress, Drupal et Magento offrent des possibilités d'intégration de Redis pour le stockage de données dynamiques.

En savoir plus sur Redis
OPcache
OPcache

Un cache intégré qui lit les fichiers PHP, les compile et les stocke en mémoire sous forme de langage machine. Activé par défaut avec votre pack d'hébergement web chez Combell ; aucune connaissance technique n'est donc requise. Améliore immédiatement les performances globales de votre code PHP, mais n'a qu'un impact indirect sur le temps de chargement des pages.

APCu
APCu

Un magasin clé-valeur local qui fait partie intégrante de votre installation PHP. Activé par défaut avec votre pack d'hébergement chez Combell. Il offre également des possibilités d'intégration avec les frameworks et les SGC les plus courants. Comparable à Redis, mais avec moins de fonctionnalités.

Quand utiliser tel ou tel autre cache ?

Chaque type de cache a des finalités bien précises. Cela n'a aucun sens d'activer tous les caches en même temps. Cela ne garantit pas de meilleurs résultats et augmente de surcroît le degré de complexité du système.

Sélectionnez le type de cache adéquat

  • Votre application est-elle écrite en PHP ?

Dans ce cas, activez OPcache. Chez Combell, OPcache est activé par défaut pour nos clients sur notre hébergement web.

Il est recommandé de mettre en cache autant de pages web complètes que possible. Et pour cela, il est préférable d'utiliser Varnish. Les pages qui sont statiques ou qui présentent un niveau de personnalisation minimal peuvent être facilement mises en cache à l'aide de Varnish. Varnish offre également de nombreuses options d'intégration avec les SGC et les frameworks.
Varnish inclut également un langage de programmation, qui peut être utilisé pour déterminer ce qui doit être mis en cache et ce qui ne doit pas l'être.

Certaines pages ne peuvent pas être mises en cache dans leur intégralité car elles contiennent des éléments personnalisés. Pensez p. ex. au panier d'achat virtuel ou au passage en caisse sur une boutique en ligne. Ces pages sont uniques pour chaque visiteur. Certaines données de ces pages peuvent cependant être conservées dans le cache, ce qui soulage la base de données ou le système de fichiers.
Voulez-vous p. ex. extraire des données d'une base de données, d'un fichier sur le disque ou via un service web ? Dans ce cas, activez Redis ou APCu.

Les données sont-elles uniquement utilisées par PHP ?

Dans ce cas, APCu sera suffisant. Le code de l'application sera toujours exécuté, mais l'accès à certaines données sera mis en cache.

D'autres systèmes ont-ils également besoin d'accéder aux données mises en cache ?

Dans ce cas, Redis sera la technologie de mise en cache la plus adaptée. Redis offre des types de données avancés, davantage de commandes, et même la possibilité de contrôler le comportement via des scripts LUA.

En fonction de votre SGC ou de votre framework, il peut exister des options d'intégration prêtes à l'emploi pour Redis ou OPcache.

Il est possible de combiner plusieurs caches, mais veillez à ne pas en abuser. Vous courez en effet le risque d'afficher des données périmées. Veillez à vider les caches lorsque les données sources sont mises à jour.
Chaque système de mise en cache peut déterminer la durée de conservation des éléments dans le cache et offre la possibilité de supprimer des éléments du cache.

Avez-vous besoin d'aide pour choisir et implémenter la meilleure solution de mise en cache ?

FAQ

La mise en cache consiste à stocker temporairement des éléments d'une page pour pouvoir accéder plus rapidement à ces données. En stockant des copies temporaires d'un site web, l'ordinateur n'a plus besoin de régénérer les données.
  • Temps de chargement rapides
  • Site web stable
  • Expérience utilisateur optimale
  • Avantageux sur le plan de l'optimisation pour les moteurs de recherche (SEO)
Lorsqu'un internaute souhaite visiter votre site web, une requête est envoyée (via Internet) à votre serveur afin que celui-ci affiche le contenu de la page. Cette requête doit être traitée et fait peser une certaine charge sur la RAM, l'espace disque, le processeur et le réseau. Cela donne lieu à des ralentissements dans le renvoi du contenu.

La mise en cache réduit ce délai en stockant temporairement les fichiers du site web qui sont souvent demandés à un endroit différent. En stockant ces données séparément, celles-ci ne doivent plus être demandées au serveur lors d'une nouvelle visite du site web. La page peut ainsi être affichée beaucoup plus rapidement.

Faites confiance à nos experts dans le domaine de la mise en cache

technologies_caching_img_2_alt

Cela fait des années que Combell s'efforce d'atteindre des temps de chargement rapides et une expérience utilisateur optimale grâce à des solutions de mise en cache. Avec votre collaboration, nous recherchons la meilleure solution pour votre site web ou votre application. Nos spécialistes expérimentés sont chargés de sélectionner et d'implémenter la meilleure solution de mise en cache.

technologies_caching_img_2_alt

Awards

Smart Business Awards Hosting & Domain Names 2017
ISPGids
Twinkle Awards Hosting & Domain Names 2016
Webhosters.nl