Fermer

novembre 16, 2018

Performances rapides avec le cache de sortie distribuée dans Sitefinity


Le système de gestion de contenu Sitefinity prend désormais totalement en charge le cache de sortie distribuée, offrant des performances jusqu'à 200 fois supérieures dans certains scénarios. Apprenez à l'appliquer facilement et où vous devriez l'utiliser.

Si vous n'avez pas encore entendu le récemment publié Sitefinity CMS 11.1 introduit la prise en charge complète du cache de sortie distribuée, parmi autres mises à niveau . Une déclaration audacieuse, assortie de quelques autres fournisseurs de CMS .NET du secteur, et de presque personne en ce qui concerne le niveau d'intégration et d'implémentation / maturité / exhaustivité que Sitefinity a à offrir.

Si vous êtes déjà familiarisé avec le concept de cache de sortie distribuée et que, comme nous dans l’équipe produit, vous êtes également ravi de voir cette fonctionnalité arriver sur le CMS Sitefinity, cet article de blog est pour vous. Si vous venez de voir le titre accrocheur et que vous avez décidé de continuer à lire, ne vous arrêtez pas à mi-chemin – cet article de blog est également pour vous. Dans les lignes suivantes, nous allons expliquer ce qu'est le cache de sortie distribué de Sitefinity CMS et pourquoi vous devez vous en soucier.

Qu'est-ce que le cache de sortie?

Commençons par un aperçu rapide du cache de sortie. Pour résumer la définition de Microsoft le cache de sortie est un mécanisme d'optimisation permettant à ASP.NET d'envoyer une copie prétraitée d'une page au lieu de suivre l'intégralité du processus consistant à exécuter des requêtes de base de données, à assembler la page et à envoyer le fichier. sortie vers le client. Le cache de sortie existe pour réduire le temps de réponse du serveur Web. Il s'agit de la couche de mise en cache la plus importante, car c'est la première couche touchée par une demande entrante et garantit que le contenu est diffusé instantanément à partir de la mémoire cache au lieu d'être traité sur le serveur à chaque fois.

Si nous pouvions dessiner un diagramme simple expliquant ce concept, il ressemblerait à ceci (cliquez pour voir en taille réelle):

 Cache de sortie dans Sitefinity "title =" Cache de sortie dans Sitefinity " -openoriginalimageonclick = "true" data-displaymode = "Original" /> </a data-recalc-dims=

Par défaut, Sitefinity CMS utilise la mémoire du serveur Web pour stocker les éléments de cache en sortie. Cette option permet de récupérer le contenu le plus rapidement possible En ce qui concerne la maintenance, la mémoire cache de sortie en mémoire ne nécessite aucune configuration ou maintenance supplémentaire, car la mémoire du serveur est utilisée, ce qui en fait une solution plus simple. Bien que cela affecte la consommation de mémoire du serveur. , le cache de sortie en mémoire ne nécessite pas de coût supplémentaire pour le stockage en cache externe.

Pourquoi avons-nous besoin d'un cache de sortie distribué?

L'utilisation du cache distribué présente plusieurs avantages par rapport au stockage d'éléments de cache en mémoire. Ces avantages proviennent des différents mécanismes de lecture et d’écriture des éléments du cache. Avec le cache distribué, seul le premier noeud à charge équilibrée, qui traite une demande de contenu non encore mis en cache, doit traiter le contenu et le stocker dans un cache distribué. Tous les nœuds consécutifs de la configuration à équilibrage de charge extraient l'élément du cache distribué. Ainsi, chaque nœud n'a plus besoin de créer ses propres versions de cache du contenu. Le stockage de cache distribué centralisé résout les problèmes suivants:

Pour en savoir plus sur les avantages de l'utilisation du cache de sortie distribuée, consultez l'article Avantages de l'exécution du CMS Sitefinity avec le cache de sortie distribué de la documentation produit officielle .

Est-il facile de passer à la mémoire cache de sortie distribuée?

La mémoire cache de sortie distribuée ne constitue pas un complément, un travail communautaire, un projet open source ou tout autre format susceptible de donner une impression quelque peu douteuse de la la stabilité des fonctionnalités. C'est une fonctionnalité prête à l'emploi entièrement prise en charge. En fait, il faut quelques secondes pour être configuré côté Sitefinity (ajoutez-en quelques minutes pour configurer le stockage en cache distribué de votre choix).

C'est aussi simple que ça. aller à la section Cache de sortie dans le CMS Sitefinity Paramètres avancés et sélectionner une valeur du Cache Provider différente de la valeur par défaut ( InMemory .

 Paramètres du cache de sortie "title =" Paramètres du cache de sortie "data-openoriginalimageonclick =" true "data-method =" ResizeFitToAreaArguments "data-customsizemethodproperties =" {"MaxWidth": "", "MaxHeight": "500", " ScaleUp ": false," Qualité ":" Elevé "}" /> </a data-recalc-dims=

Lorsque vous sélectionnez un fournisseur de cache de sortie distribuée, vous pouvez choisir entre des options de stockage de données reconnues par l'industrie, telles que Redis et . Memchached . Ceux d'entre vous qui utilisent déjà les services Amazon avec Sitefinity CMS seront ravis de voir DynamoDB répertorié parmi les autres mémoires de stockage distribuées prises en charge. L'option SQLServer existe également – un choix idéal pour ceux qui préfèrent héberger localement le stockage en mémoire cache distribuée.

Chacune de ces options comporte ses propres avantages, et vous pouvez choisir celui qui vous convient le mieux. Ils répondent parfaitement aux besoins de Sitefinity CMS pour la distribu cache de sortie. Et, encore une fois, le temps total de configuration est inférieur à cinq secondes.

Une fois que vous avez choisi votre préférence, vous devez configurer le fournisseur sélectionné pour que Sitefinity CMS puisse se connecter à votre cache store et commencer à faire ses preuves. Cette opération est effectuée dans la section CacheProviders sous Paramètres de cache de sortie et prend encore cinq secondes pour terminer:

 Configuration du fournisseur de cache "title =" Configuration du fournisseur de cache "data-openoriginalimageonclick = "true" data-method = "ResizeFitToAreaArguments" data-customsizemethodproperties = "{" MaxWidth ":" "," MaxHeight ":" 500 "," ScaleUp ": false," Qualité ":" Elevé "}" /> [19659020] Le cache de sortie distribuée est-il le bon choix pour moi?</h2 data-recalc-dims=

Pour en savoir plus sur les gains de performances liés à l’utilisation du cache de sortie distribuée, consultez la documentation officielle du produit . même instance SiteManity CMS utilisant des fournisseurs de cache de sortie InMemory ou Distributed.Les tests couvrent un large éventail de scénarios, notamment les tests de démarrage, de préchauffage et de charge, afin de refléter le scénario complet de démarrage et de redémarrage d'un site démarré / redémarré, ainsi qu'un site Web. navigation sous charge par visiteurs du site. La documentation fournit également une comparaison des avantages et des inconvénients des caches de sortie InMemory et Distributed ce qui vous permet de faire le bon choix en tenant compte de plusieurs facteurs, tels que les performances, l'évolutivité et le coût.

Show Me!

Utilisons le fournisseur Redis pour un exemple pratique rapide. Nous allons utiliser un abonnement Microsoft Azure actif et ajouter un nouveau cache Redis via le portail de gestion Azure:

 Configuration du cache Azure Redis "title =" Configuration du cache Azure Redis "data-openoriginalimageonclick =" true "data-method =" ResizeFitToAreaArguments " data-customsizemethodproperties = "{" MaxWidth ":" "," MaxHeight ":" 500 "," ScaleUp ": false," Qualité ":" Elevé "} /> </a data-recalc-dims=

 Azure Redis Access Keys "title =" Azure Redis Access Keys "data-openoriginalimageonclick =" true "/> </a data-recalc-dims=

 Redis Cache ConnectionString "title =" Redis Cache ConnectionString "data-openoriginalimageonclick =" true "data-method =" ResizeFitToAreaArguments " -customsizemethodproperties = "{" MaxWidth ":" "," MaxHeight ":" 500 "," ScaleUp ": false," Qualité ":" Elevé "} /> </a data-recalc-dims=

Maintenant que le fournisseur est configuré, assurez-vous Redis est le fournisseur de cache sélectionné dans Paramètres de cache de sortie :

 Paramètres de cache de sortie "title =" Paramètres de cache de sortie "data-openoriginalimageonclick = "true" data-method = "ResizeFitToAreaArguments" data-customsizemethodproperties = "{" MaxWidth ":" "," MaxHeight ":" 500 "," ScaleUp ": false," Qualité ":" Elevé "}" /> </a data-recalc-dims=

Voilà! Vous pouvez y aller dès que vous cliquez sur le bouton Enregistrer les modifications . Votre site CMS Sitefinity utilise le cache Redis pour stocker et récupérer les éléments du cache de sortie.

Conclusion

Le choix de la configuration de la mise en cache de sortie appropriée pour votre CMS Sitefinity est une décision architecturale importante qui peut avoir un impact non seulement sur la configuration de votre site. performances et évolutivité, mais affectent également vos coûts.

L’utilisation du cache distribué offre jusqu'à performances jusqu'à 200 fois meilleures au démarrage et à l'échauffement pour un «démarrage à froid», lorsque les pages n'ont pas encore été compilées et jusqu'à démarrage et échauffement cinq fois meilleurs lorsqu'un nœud est redémarré (des pages ont déjà été compilées). Cela se traduit par une meilleure évolutivité et une haute disponibilité, ainsi que par une meilleure expérience de navigation pour les utilisateurs qui atteignent un nœud récemment démarré.

Le stockage en mémoire cache de sortie en mémoire excelle certainement pour fournir les meilleurs temps moyens de réponse aux pages une fois le site préchauffé. Le cache de sortie distribuée offre toujours de très bons temps de réponse de page, ce qui peut affecter vos performances globales en fonction du stockage de cache distribué utilisé.

Maintenant que le CMS Sitefinity vous permet de choisir entre le cache en sortie ou en sortie, vous pouvez tirer parti de ces fonctionnalités pour affiner votre stratégie de mise en cache et optimiser les performances de vos sites.

Nouveau sur Sitefinity et souhaitez-vous en savoir plus? Demandez une démonstration aujourd'hui ou essayez Sitefinity CMS pour vous-même.




Source link

Revenir vers le haut