Le blog francophone consacré
aux technologies Esri

Conseils & Astuces ArcGIS Online - N°131

 N° 131 - Améliorer la performance de vos couches d'entités en très haute-fréquentation
   
Lorsque vous réalisez des applications à destination d'un public assez large (grand-public exemple), l'audience peut potentiel est considérable et par définition vous ne la maîtrisez pas. Par exemple, dans le cadre de la pandémie de la Covid19, le tableau de bord ArcGIS diffusé par Esri France sur ArcGIS Online a connu certains jours plusieurs millions de visiteurs ce qui correspondait à plusieurs dizaines de millions de requêtes sur les couches d'entités sous-jacentes. 

D'un point de vue financier, contrairement à beaucoup de plateformes cloud, le mécanisme de crédits d'ArcGIS Online est basé sur le volume de stockage de vos couches d'entités et non sur le nombre de requêtes d'accès. Ainsi l'audience de vos applications n'impactent pas la consommation de crédits de votre abonnement.

D'un point de vue technique, il est important que vos applications restent aussi réactives avec quelques centaines de requêtes simultanées sur les données de vos couches d'entités qu'avec plusieurs milliers ou millions de requêtes simultanées. Pour cela, ArcGIS Online utilise un mécanisme de cache intelligent appelé CDN très largement utilisé par les applications grand-public sur le web.

Qu'est ce qu'un CDN ?

Acronyme de "Content Delivery Network", il s'agit d'un réseau de serveurs répartis dans le monde entier, qui permet de mettre en cache des miroirs des contenus demandés par les utilisateurs pour en accélérer l'accès. Dans le cas des couches d'entités d'ArcGIS Online, il s'agit de mettre en cache le résultat des requêtes sur vos couches d'entités pour les fournir plus rapidement  à des utilisateurs qui solliciteront la même requête (ceci sans interroger à nouveau la base de données). Ceci permet des gains de temps potentiellement énormes dès lors que la sollicitation de l'application explose. Bien entendu, le mécanisme de CDN s'accompagne de paramètres permettant de gérer de la durée de vie de ces caches afin de permettre l'actualisation du cache, à la fréquence souhaitée, afin qu'il soit toujours cohérent avec les dernières mises à jour des données effectuées sur vos couches d'entités hébergées.

 
Ce mécanisme de cache CDN s'active automatiquement à partir du moment où vous partagez une couche d'entités hébergée de manière publique. Dès lors, vous pouvez paramétrer la durée de vie du cache et éventuellement même désactiver le mécanisme de mise en cache.

Je vous propose donc de voir comment configurer cette mise en cache sur vos couches d'entités ArcGIS Online:
  
  1. Tout d'abord, vous devrez vous connecter à votre portail d'organisation en étant le propriétaire de la couche d'entités sur laquelle vous souhaitez activer cette option. 

  2. Afficher la page de description de votre couche d'entités puis placez-vous sur l'onglet "Paramètres"



  3. Dans la rubrique "Feature Layer" vous trouverez l'option relative au "Contrôle du cache". Cette section permet de définir le délais de validité du cache de diffusion de contenu (CDN). 

    Par défaut il est fixé à 30 secondes. Ceci veut dire que lorsque le cache à une ancienneté de plus de 30 secondes, la requête est envoyée au service web et le résultat est mis en cache à la place de l'ancien. Pendant les 30 secondes suivantes, tous les utilisateurs émettant la même requête bénéficieront du contenu mis en cache qui leur sera retourné plus rapidement que si la requête était effectivement traitée par le service web.

    Si vos données sont peu dynamiques, vous pouvez tout à fait augmenter le délai de rafraîchissement du cache. Votre application gagnera encore plus en performance puisque votre service web sera encore moins souvent sollicité. Dans cet exemple, nous avons choisi de le mettre à 5 minutes, ce qui veut dire qu'en cas de modification des données dans la couche, celle-ci pourront mettre jusqu'à 5 minutes avant d'être effectives dans la carte de l'utilisateur.



    Si vous choisissez la valeur "Jamais", aucune mise en cache n'est effectuée et chaque requêtes est exécutée sur le service web.

  4. Cliquer sur le bouton "Enregistrer" pour valider vos options de CDN.
    

Remarques:

L'utilisation de la mise en cache CDN sur une couche d'entités n'a aucun impact sur ses fonctionnalités. On notera également que l'usage de cette option n'engendre aucun coût de crédits supplémentaires, elle est inclue dans votre abonnement ArcGIS Online.


Bonne route sur ArcGIS Online !
   
Pour retrouver l'ensemble des Conseils & Astuces ArcGIS Online, cliquez sur ce lien
   

Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article: