|
Ultimate Web Accelerators |
Contact
|
|
► Even Faster with BoostEdge V3 Ultimate
► Accelerating Web Applications (FR) ► Crunching PDF ► Web Application: threat protection (FR) ► Hyperion: even more faster ► QueryHandler (FR) ► Optimizing images ► Why Using a Reverse Cache? (FR) ► Implementing the Web Division (FR) ► BoostEdge in an activ/activ cluster (FR) |
Un cache inversé, pourquoi faire ?Un cache mal placéUn cache inversé est un cache qui se trouve au plus près du serveur. A première vue, c'est donc un cache placé du mauvais côté du réseau. En effet, habituellement les caches sont placés au plus près du navigateur. Le cache le plus proche est d'ailleurs celui du navigateur lui-même. Le but d'un tel cache est de récupérer les objets en limitant au maximum le nombre de requêtes et le volume des données transmis à travers le réseau. Ayant expliqué tout cela, on peut maintenant légitimement se poser la question de l'intérêt de positionner un cache immédiatement à côté du serveur. En effet, le temps d'accès au cache inversé, situé à coté du serveur, est, à très peu de choses près, le même que pour le serveur. Le gain n'est donc pas dans le temps mis par le navigateur à obtenir un objet. Ne pas dérangerLe rôle d'un cache inversé est en réalité de décharger le serveur. Imaginons en effet la charge de travail d'un serveur d'application. D'abord le navigateur envoie une requête pour une page dynamique, disons /mypage.php. Le serveur va donc exécuter le ou les programmes PHP qui vont calculer et générer la page HTML. Celle-ci contient de nombreux composants : images, feuilles de styles, javascripts, etc. Lorsque le navigateur reçoit cette page, il l'analyse puis renvoie une nouvelle requête pour chacun des composants que contient cette page. Or, pendant ce temps le serveur a reçu une autre requête pour une page dynamique. Il va donc devoir servir toutes les requêtes consécutives à l'envoi de la première page, alors même qu'il est chargé par l'exécution des programmes PHP qui génèrent la nouvelle page dynamique. C'est ainsi que le calcul de chaque nouvelle page dynamique est ralenti par le traitement des nombreuses requêtes qui font suite aux pages précédentes. Cache collantLe rôle du cache inversé est donc de décharger le serveur de toutes les requêtes pour les composants statiques. Ces composants sont donc stockés dans le cache. Qui plus est, on force celui-ci à ne pas revalider son contenu auprès du serveur, c'est-à-dire que quand il reçoit une requête et que le composant se trouve dans le cache, celui-ci est envoyé au navigateur sans même vérifier auprès du serveur qu'il est encore valide. C'est un mode de fonctionnement un peu particulier qui ne respecte pas à la lettre le protocole HTTP mais il est très efficace. On peut évidemment se permettre un tel fonctionnement car il est très facile de vider le cache. BoostEdge et son RAM-CacheBoostEdge dispose d'un cache inversé appelé RAM cache. Comme son nom l'indique, celui-ci est implémenté en mémoire ce qui lui permet d'être très rapide (il peut servir plusieurs dizaines de milliers de composants par seconde). Cela permet également de réduire le time to first byte. Le RAM-cache permet donc de décharger les serveurs. Cette technique dite de off-loading, fait partie de l'arsenal technologique mis en ouvre par BoostEdge pour accélérer les applications web. Grâce à son mécanisme de filtrage de requêtes, BoostEdge permet de configurer les règles de gestion de ce cache à l'URL près si c'est nécessaire. La gestion du cache est en effet décrite dans un ou plusieurs profils qui sont ensuite attachés aux Query Handler. |
|
No plugin |
(c)2010, ActivNetworks. All rights reserved |