Skip To Content

Configurer la consommation du cache

Une fois que vous avez défini une structure de tuilage pour votre service de carte, il essaie immédiatement d’utiliser le cache. Toutes les applications ArcGIS capables d’afficher un service de carte ou d’imagerie utilisent le cache ; néanmoins, la façon dont les tuiles sont récupérées et utilisées varie selon les applications.

Applications Web

Vous pouvez ajouter votre service de carte ou d’imagerie mis en cache à utiliser en tant que fond de carte ou en tant que couche opérationnelle dans votre carte web.

Pour connecter un service de carte mis en cache à votre carte web, vous pouvez utiliser un objet de couche de service de cartes tuilées ArcGIS.

Pour connecter un service d’imagerie mis en cache à votre carte web, vous pouvez utiliser un objet de couche de service d’imagerie tuilé ArcGIS.

Les tuiles sont récupérées du répertoire de cache par des appels REST vers le service de carte à l’aide de la requête de tuile de carte suivante : https://<map service URL>/tile/<level>/<row>/<column>.

Dépanner des applications web

Si votre carte réagit plus lentement qu’elle ne le devrait, vous pouvez examiner les URL des images de la carte pour vérifier que l’application récupère les tuiles mises en cache.

Pour vérifier que votre application récupère les tuiles mises en cache, procédez comme suit :

  1. Ouvrez les outils de développement web de l’application dans votre navigateur.
  2. Cliquez sur l’onglet Network (Réseau) sur votre console.
  3. Effectuez un zoom et un déplacement sur la carte web.

Si vous voyez des URL formatées de manière similaire à celle ci-dessous sur votre console, votre application réussit à obtenir des tuiles mises en cache à partir de demandes REST.

https://gisserver.domain.com:6443/arcgis/rest/services/myService/MapServer/tile/10/1723/3495.jpg

Si vous voyez un autre format d’URL, comme exportMap ou exportImage, votre application n’utilise pas votre cache.

ArcGIS Pro

Pour ajouter des services de carte mis en cache à ArcGIS Pro, reportez-vous à la rubrique Ajouter des couches à une carte ou une scène dans ArcGIS Pro.

Lorsqu’une demande est effectuée pour une tuile à une échelle qui correspond au niveau d’échelle dans le cache pour une projection donnée, le service de carte renvoie directement la tuile. Toutefois, il arrive souvent que les demandes ne correspondent pas exactement à l’échelle ou à la projection d’un cache. Dans ces cas, la tuile de l’échelle suivante la plus proche est demandée et rééchantillonnée pour correspondre à l’échelle demandée. Le rééchantillonnage est plus rapide que la génération dynamique d’une tuile. Toutefois, l’image qui en résulte est différente de la tuile originale.

Remarque :

Après le rééchantillonnage, les étiquettes de carte mises en cache peuvent être difficiles à lire à certaines échelles.

Il est recommandé de consulter la carte à des échelles proches des échelles de création du cache afin de confirmer la lisibilité.

ArcGIS Pro met en cache le contenu des services de carte et d’imagerie en local afin d’améliorer les performances des couches de carte et d’images pour une session. Pour plus d’informations sur le fonctionnement de la mise en cache dans ArcGIS Pro, reportez-vous à la rubrique Définir les options de mise en cache.

Les données mises en cache sont également accessibles en tant que jeu de données raster dans ArcGIS Pro. Bien qu’il ne soit pas possible d’interroger les caches auxquels vous accédez en tant que rasters, ils vous permettent de visualiser les tuiles lorsque vous n’êtes pas connecté au serveur, dans la mesure où ils ne s’appuient pas sur un service de carte.

Autoriser les clients à effectuer une mise en cache en local

Lors de l’affichage de services de carte ou d’images mis en cache, vous pouvez autoriser les clients ArcGIS à stocker les tuiles en local, afin d’éviter qu’ils n’aient à les récupérer de nouveau lorsqu’un utilisateur revient dans une zone qu’il a déjà consultée.

Remarque :

Les utilisateurs peuvent avoir besoin de vider leur cache local avant de pouvoir voir les mises à jour que vous avez apportées au cache.

Si vous effectuez des mises à jour fréquentes de votre cache, vous pouvez choisir de désactiver la possibilité pour les clients de mettre en cache des tuiles en local. Vous aurez ainsi la certitude que les utilisateurs disposeront des informations les plus à jour, plutôt que d’informations plus anciennes qui peuvent être stockées sur leur cache local.

Si la mise en cache locale est activée, les utilisateurs peuvent choisir de stocker ou non les caches de tuiles en local. Les utilisateurs peuvent sélectionner de créer le cache local en continu, de créer un nouveau cache local pour chaque session d’application ou de ne créer aucun cache local.

Définir la propriété cacheControlMaxAge

Lorsque des clients envoient des demandes d’affichage d’un service de carte à ArcGIS Server, la réponse du serveur est généralement mise en cache par le navigateur et réutilisée pendant un certain temps. Ce comportement aide à obtenir les meilleures performances d’affichage de votre contenu. Toutefois, selon la manière dont votre service de carte ou d’images mis en cache et les données qui lui sont associées sont utilisés dans les applications, vous pouvez ajuster la durée pendant laquelle le navigateur utilise une réponse figurant dans son cache.

Lorsqu'une demande est répétée et que l'âge maximal du cache n'a pas encore expiré, le navigateur utilise la réponse mise en cache sans envoyer la demande au serveur. Si l'âge maximal a expiré, le navigateur doit envoyer la demande au serveur et définir un en-tête IF-NONE-MATCH avec une valeur ETag associée correspondant à la réponse présente dans le cache. ArcGIS Server évalue la demande et utilise la valeur ETag pour déterminer si la réponse a changé. Si la réponse du serveur diffère de la copie stockée dans le navigateur, le serveur envoie une nouvelle réponse au navigateur. Si la réponse est identique à la copie du navigateur, le serveur avertit le navigateur de continuer à utiliser la réponse présente dans son cache.

Pour les services de carte mis en cache qui n’autorisent pas les clients à mettre les tuiles dans le cache local, la valeur par défaut est de 0. De ce fait, le navigateur renvoie toujours une demande que ArcGIS Server traitera et à laquelle il répondra si le contenu a été modifié. Cette valeur par défaut fonctionne bien pour la plupart des applications.

Pour les services de carte mis en cache qui autorisent les clients à mettre les tuiles dans le cache local, la valeur par défaut est de 86 400 secondes (1 jour). À cette valeur par défaut, si une demande est répétée dans un délai d’un jour, le navigateur utilisera la réponse stockée dans son cache local. Si votre service de carte mis en cache n’est pas fréquemment mis à jour, il est recommandé d’augmenter la propriété cacheControlMaxAge à 30 jours (2 592 000 secondes) ou plus pour réduire au maximum le trafic réseau.

Pour ajouter la propriété cacheControlMaxAge à votre service et modifier sa valeur par défaut, procédez comme suit :

  1. Dans un navigateur web, ouvrez le répertoire d’administrateur de ArcGIS Server et connectez-vous en tant qu’utilisateur doté des privilèges d’administrateur.

    L’URL est au format http://gisserver.domain.com:6443/arcgis/admin.

  2. Cliquez sur services et choisissez le service de carte ou d’images à modifier dans la liste Services.

    Si votre service n’apparaît pas dans cette liste, il se trouve peut-être dans un répertoire sous le dossier racine.

  3. Dans la page Service - <nom du service> (<type de service>), faites défiler l’affichage vers le bas et cliquez sur modifier.
  4. Dans la boîte de dialogue Service Properties (Propriétés du service), recherchez la section "properties" du fichier JSON du service.
  5. Ajoutez la propriété cacheControlMaxAge dans la section et spécifiez sa valeur (en secondes).

    En voici un exemple :

    "properties": {
      "cacheControlMaxAge": "300",
  6. Cliquez sur Enregistrer les mises à jour.
  7. Vérifiez que la propriété cacheControlMaxAge et la valeur que vous lui avez attribuée figurent dans la section Properties (Propriétés).

Utiliser un partage de fichiers haute disponibilité

Pour votre cache de site de serveur SIG sur site, vous pouvez désigner un répertoire sur un serveur de fichiers haute disponibilité qui utilise un réseau de zone de stockage (SAN) ou un périphérique de stockage NAS haute disponibilité. Ceci est généralement configuré par votre service informatique.

Si l'espace du réseau de zone de stockage (SAN) ou du périphérique de stockage NAS de votre organisation est suffisant pour votre cache, cette solution est la plus facile et la plus fiable pour rendre vos caches de carte et d'image hautement disponibles.

Si vous n'avez pas accès à ce type de serveur de fichiers, vous pouvez créer des répertoires de cache sur chaque machine de votre déploiement, comme expliqué à la section suivante.

Pour les systèmes très disponibles, vous pouvez sauvegarder vos répertoires de cache dans lesstockages cloud. N’oubliez pas que les utilisateurs finaux des caches de service d’imagerie risquent d’être exposés à une baisse de performance puisque les tuiles sont extraites d’un répertoire cloud comparé à l’extraction de tuiles depuis un disque local. En outre, veillez à ce que les caches enregistrés dans les répertoires cloud utilisent un format de stockage v2 compact.

Configurer des caches haute disponibilité

Le stockage de plusieurs copies des caches de carte et d'image sur toutes les machines du site permet d'assurer la haute disponibilité du cache et du service. Créez des répertoires sur chaque machine du serveur SIG et copiez tous les caches dans chacun de ces répertoires. Toutes les machines faisant partie du site du serveur SIG doivent avoir accès à chaque répertoire de cache.

Tenez compte des points suivants lorsque vous configurez les répertoires de cache locaux :

  • Vous ne pouvez pas utiliser la mise en cache de carte à la demande avec les services configurés à l'aide d'un répertoire de cache local.
  • Les outils de géotraitement qui mettent à jour les caches existants génèrent des résultats sur un répertoire de cache du site commun. Si vous exécutez ces outils, vous devez déplacer les caches dans les répertoires de cache locaux sur chaque machine faisant partie du serveur SIG.

Même si cela accroît la charge administrative lors de l'implémentation des répertoires de cache sur chaque machine sur le site de serveur SIG, c'est la seule option lorsque vous implémentez un serveur SIG haute disponibilité dans le cloud.

Vous pouvez également implémenter cette solution dans les déploiements sur site. Cela est recommandé si vous ne détenez pas de serveur de fichiers haute disponibilité et que vos caches ne sont pas fréquemment (voire jamais) mis à jour.

Par défaut, les caches de carte et d'image sont écrits dans un seul répertoire de cache du site. Procédez comme suit pour configurer les répertoires de cache sur chaque machine faisant partie du site de serveur SIG :

  1. Ouvrez l’extrémité du service ArcGIS du répertoire de cache du serveur. L’URL est au format suivant : http://gisserver.domain.com:6080/arcgis/admin/system/directories.
  2. Choisissez le cache du site.
  3. Cliquez sur Modifier.
  4. Définissez Use Local Directory (Utiliser le répertoire local) sur TRUE.
  5. Indiquez le chemin d'accès à un répertoire de cache local. Les répertoires de cache doivent être créés au même emplacement sur toutes les machines.

    Une fois la configuration effectuée, ArcGIS Server crée des caches pour les services de carte et d'imagerie publiés sur cette machine dans le répertoire de cache local que vous avez spécifié.

  6. Copiez manuellement les données de cache existantes du répertoire de cache du site vers chaque répertoire de cache local.

    Vérifiez que la génération du cache existant est terminée avant d'essayer de le copier.

    Vous pouvez utiliser la commande rsync pour déplacer le cache, par exemple

    rsync –avx -progress <login>@<location of existing cache> <local cache directory>