Fermer

janvier 17, 2020

Sitefinity Cloud Cache: disponibilité et performances des applications7 minutes de lecture



Sitefinity est livré avec un ensemble d'outils avancés pour vous aider à toujours avoir vos applications Web à leur meilleur comportement. CDN, géo-distribution, équilibrage de charge, mise en cache: il n'y a pas de tâches plus ou moins importantes lorsque les meilleures performances possibles sont l'objectif ultime. Garder ces outils affûtés est notre responsabilité, mais les utiliser correctement est votre point de départ.

La vitesse, les performances et la disponibilité de votre application ont une incidence directe sur la façon dont vos utilisateurs interagissent et sur leur probabilité de retour. Vous le savez et nous le savons. Dans une série de publications récentes, nous avons examiné de près diverses fonctionnalités, ajustements et paramètres de Sitefinity qui vous aident à fournir des services permanents et des expériences utilisateur fascinantes. Celui-ci reprend exactement là où nous en étions avec les webhooks et pipelines CI / CD .

Sitefinity Output Cache

Les succès et les échecs sont une métrique de performance clé du cache, mais quand il arrive à la performance de votre site Web – et à l'expérience utilisateur – la dernière chose que vous voulez qu'ils soient est aléatoire. Plus souvent qu'autrement, une utilisation appropriée de la mise en cache peut empêcher ou résoudre plusieurs problèmes avec la vitesse et la réponse générales d'une application.

Dans ce billet, nous examinons les rouages ​​qui mènent à une page demandée , compilé, rendu et servi – d'une manière qui semble rapide et transparente pour vos utilisateurs finaux, quelle que soit la plate-forme sur laquelle ils interagissent avec votre contenu, votre ordinateur de bureau ou votre ordinateur de poche.

Le cache de sortie est l'un des mécanismes les plus importants pour vous aider à y parvenir. Étant la première couche de mise en cache qui gère les demandes entrantes, c'est celle qui s'assure que votre contenu à jour est prêt à être servi instantanément au lieu d'être traité à chaque fois côté serveur.

Dans Sitefinity, le cache de sortie peut être configuré pour utiliser la mémoire intégrée du serveur Web ou un stockage distribué alternatif découplé. Le cache de sortie distribué est votre meilleur choix si vous devez garantir la haute disponibilité de votre application et une infrastructure facilement évolutive.

Maintenant, cette approche du sujet de la mise en cache et des performances du site Web présente un angle de cloud évident, mais notez que l'environnement ne limite ou n'élargit pas réellement les outils de mise en cache à votre disposition. Ils sont à peu près uniformes, que votre application soit hébergée sur site ou dans le cloud.

Performances et disponibilité

Lorsque vous visez les meilleures performances possibles dans un contexte de production, vous devez toujours considérer le cache de sortie distribué. Dans Sitefinity Cloud, nous utilisons Redis – fournissant de manière pratique un point unique pour toutes les instances d'application pour partager le cache de sortie pour chaque page avec laquelle elles travaillent.

Si vous faites évoluer et ont déployé une nouvelle instance de production, le nouveau nœud de serveur peut commencer à récupérer des éléments de Redis au lieu de devoir compiler et enregistrer les pages dans son propre stockage de cache de sortie. Autrement dit, l'ajout de nouvelles instances de production à votre configuration ne nécessite pas de temps d'arrêt important.

Bien qu'un démarrage à froid soit l'endroit où le cache distribué ferait la différence la plus spectaculaire, il est également utile après le redémarrage du nœud. Le seul temps d'arrêt serait jusqu'au démarrage de Sitefinity, et les utilisateurs n'auront pas à attendre que chaque page soit compilée et mise en cache. La dernière version d'une page sera automatiquement diffusée à partir du cache de sortie partagé.

Il est également très utile lorsqu'une application distribuée traite un trafic important. Chaque fois qu'un nœud d'application compile une page et la met en cache, tous les autres nœuds la liront directement à partir du cache, au lieu d'avoir à la compiler à partir de zéro et à la stocker chacun dans leur mémoire locale.

Mises à jour de contenu et échauffement du cache de sortie [19659004] Maintenant, voici une fonctionnalité assez nouvelle qui n'est pas encore assez largement utilisée. L'échauffement du cache se révèle très utile lorsqu'une nouvelle page est publiée – et son cache de sortie est invalidé en conséquence.

Sans la fonction d'échauffement du cache de sortie, la première fois qu'une page nouvellement promue est demandée, cela peut prendre un certain temps pour son dernière version à compiler et à rendre. L'utilisateur qui a tiré la paille courte devra attendre plus longtemps que d'habitude ou s'occuper de le supporter.

En fonction du site Web et de la complexité des pages, les retards peuvent être potentiellement importants, et c'est là que l'échauffement du cache Sitefinity gagne plus que sa conservation. C'est une question de secondes, bien sûr, mais même une fraction de seconde peut être décisive pour l'expérience utilisateur et, en fin de compte, votre résultat net.

Et si nous prenions cet autre niveau et pensions à un modèle de page qui aurait pu invalider le cache de sortie pour des dizaines, voire des centaines de pages l'utilisant. Nous finirons par charger autant de pages et cela peut prendre un certain temps – un temps très long s'il s'agit d'un modèle populaire, partagé par plusieurs pages – avant que votre site Web ne revienne à sa vitesse et à sa réponse normales.

Si vous avez activé et configuré l'échauffement du cache, Sitefinity se fera la première demande au lieu d'attendre qu'un visiteur accède au site Web et à la page en question. De plus, Sitefinity fera la demande mais continuera également à servir la dernière version mise en cache de la page en question à partir du cache de sortie – jusqu'à ce que la nouvelle version soit mise en cache.

Un avertissement important: ce n'est en aucun cas lié au module de préchauffage mais une fonctionnalité distincte spécifique au cache de sortie. Ce qui est vraiment une bonne nouvelle, une sauvegarde de plus d'un côté. Vous pouvez utiliser l'échauffement du cache sans même activer le module Warmup et vice versa.

 SF-Cloud-Cache-inline

En bout de ligne, l'expérience frontale sera toujours rapide et ininterrompue. Pendant un court instant après la publication d'une nouvelle page, les utilisateurs continueront de voir la version précédente du site jusqu'à ce que la demande de mise en route soit terminée et que le nouveau contenu soit correctement compilé et mis en cache. Une fois cela fait, la page passera immédiatement à la dernière version. Pour le client, il sera instantané et transparent, l'UX auquel il est habitué n'est pas compromis. C'est essentiellement la raison pour laquelle nous sommes ici en premier lieu.

Il se passe beaucoup de choses en arrière-plan lorsque vous mettez à jour une page ou un modèle. Sitefinity est un système complexe et obtenir toutes les configurations et paramètres appropriés peut souvent sembler une tâche ardue. Tirer des cordes ne fait pas nécessairement de la bonne musique. Il faut de la pratique et un instrument finement réglé entre autres.

Regardez cet espace pour plus de trucs et astuces pour des performances optimales, mais n'oubliez pas que la pratique est le meilleur moyen d'améliorer vos compétences Sitefinity. Et n'oubliez pas que vous pouvez compter sur nous pour tout. Parlez à un expert Sitefinity aujourd'hui ou lisez-en plus sur les meilleures pratiques d'administration. Bien qu'elle soit encore récente sur le sujet, la configuration du cache de sortie distribué et du paramètres d'invalidation du cache est tout à fait logique. Ou vous pouvez mettre côte à côte côte à côte en mémoire et le cache de sortie distribué. Quoi qu'il en soit, nous sommes avec vous tout le temps.




Source link