SIG 2013. Atelier technique.
Atelier Technique
SIG 2013 – Conférence Francophone 2 & 3 Octobre | Versailles
ArcGIS for Server : Trucs,
astuces et bonnes pratiques
Alain Ravazy
Jean-Marie Duliscouët
SIG 2013. Atelier technique.
Agenda
• Objectifs de la présentation
• Les caractéristiques d’un service performant
• Le travail sur les données
• Le travail sur la carte : bonnes pratiques avant publication
• La création de cache (les atouts de la 10.2)
• Les outils d’analyse
• La gestion de site ArcGIS for Server
• Le webadaptor
• Analyse de performances des services
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Parlons plutôt de bonnes pratiques …
• Recettes pour publier des services performants avec
ArcGIS Server
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Qu’est un Service performant ?
• Comment caractériser un service performant ?
- Carte de 1000 objets en moins de 2 secondes Carte et Données
- Conserve ses performances en pic de charge Site et
caractéristiques du service
• Garder à l’esprit:
« Diviser par 2 les temps d’affichage d’un service permet de servir 2
fois plus de clients avec la même configuration »
• ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Les données = carburant du service
• Mode de stockage?
- GeoDatabase Fichier ou GeoDatabase Entreprise
- FGDB plus rapide mais EGDB plus efficace sur les index complexes et accès
concurrents
- Chemin local ou UNC
- UNC 20% plus lent
ArcGIS Server : trucs et astuces
0
20000
40000
60000
80000
100000
120000
FGDB_Local FGDB_UNC SHP_Local SHP_UNC
Th
rou
gh
pu
t (T
r/H
r)
Data Source Location
High Complexity Map Service: Local vs. UNC (1 SOC)
SIG 2013. Atelier technique.
Les données = carburant du service
• Composition et préparation des données
- Pas de jeu de classe d’entité sauf nécessaire
- Limiter le nombre de sommets affichés: DICE
- Utiliser les Vues spatiales – 10.2: Dictionnaire SGBDR uniquement
• Circuit d’alimentation du moteur
- Utiliser le Direct Connect
• Maintenance
- Compress réguliers
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Pourquoi optimiser la carte ?
• La publication directe d’une carte n’est pas recommandée
o Cartographie riche et complexe
o Système de coordonnées multiples
o Propriétés des couches à revoir (visibilité, étiquetage…)
ArcGIS Server : trucs et astuces
Il faut adapter la carte à un usage en mode web :
• Temps d’attente le plus court possible
• Fluidité lors de la navigation dans la carte
• Accès rapide aux ressources SIG
SIG 2013. Atelier technique.
LES EFFETS DE L’OPTIMISATION…
une publication efficace
oSimplification de la symbologie
oHarmonisation des systèmes de coordonnées
oMeilleure gestion des labels
oOrganisation des couches
oTravail sur la géométrie
o…
ArcGIS Server : trucs et astuces
1 mxd peut être décliné en plusieurs mxd
thématiques avec des logiques de publication
différentes (raster, couches statiques,
couches dynamiques…)
SIG 2013. Atelier technique.
Les bonnes pratiques avant publication
- MxdPerfStat (téléchargement gratuit) est compatible avec la version
9.3, 9.3.1, 10 et 10.1 d’ArcGIS.
- Très bon outil pour mesurer les performances d'affichage d'une
carte en mode bureautique.
- Il établit des statistiques pour chaque couche (temps
d'affichage, nombre de sommets, projection etc.) et pour chaque
échelle testée > recommandations.
Diagnostiquer la carte pour évaluer les performances :
un outil « MxdPerfStat »
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
MxdPerfStats : fichier résultat
Couche 1
Couche 2
Temps d’accès à la donnée
Temps d’affichage de la donnée
Temps d’exécution du filtre spatial
Interprétation :
2 couches sont visibles à toutes les
échelles et entrainent des pertes de
performances aux grandes et moyennes
échelles :
Il faudra ajuster la visibilité des
couches en fonction des échelles et
optimiser celles-ci.
Fichier de style personnalisable
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Traitement géométrique des données
• Selon le diagnostic « MxdPerfStat »
• Privilégier la performance d’affichage.
• S’assurer que les opérations de simplification ne dégradent
pas « trop » l’interprétation cartographique !
• Exemples de traitements géométriques :
- simplification (simplify line, simplify polygon),
- fusion des entités (dissolve),
- limiter le nombre d’entités affichées à 1000,
- changement de géométrie à petite échelle.
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Visibilité des couches
• Utiliser à bon escient les échelles d’affichage.
• Si superposition avec les basemaps Esri, utiliser les
échelles ArcGIS online pour définir les plages de visibilité.
• Filtrer les couches pour n’afficher que ce qui
est utile pour une échelle donnée.
• Limiter le nombre de couches visibles à
l’ouverture de la carte
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Simplification de la symbologie
• Nécessaire pour les services de cartes opérationnels.
• Dans le cas ou la richesse de la symbologie doit être conservée :
service de carte mis en cache (temps de création plus long !)
1. Utiliser les symboles optimisés d’Esri
(ESRI_optimized) : environ 60% + rapides
1. Privilégier les styles simples, les fichiers .emf
2. Réduire le nombre de niveaux par symbole
éviter le mélange de types de symboles (symbole carto et
ligne à barbules…)
ou créer des symboles TrueType
ArcGIS Server : trucs et astuces
Envisagez d'utiliser des symboles du style ESRI_Optimized. Ce style contient des symboles ligne et de remplissage destinés à optimiser les performances tout en conservant un aspect visuel proche de leurs équivalents dans le style ESRI. Les symboles ligne et de remplissage du style ESRI_Optimized s'affichent près de 60% plus vite que les symboles du style ESRI.
Style linéaire Style ponctuel Style
Les symboles linéaires du style ESRI_Optimized utilisent moins de couches et des largeurs réduites en vue d'améliorer les performances.
L’utilisation de symboles ponctuels simples et des symboles ponctuels de type caractère à une couche constituent le meilleur moyen de symboliser des jeux de données d'entités ponctuelles volumineux.
Afin d'optimiser la vitesse de dessin, utilisez, chaque fois que cela est possible, des symboles ligne simples pour les contours des polygones.
Pour les symboles de remplissage par image, les images .emf se dessinent plus vite que les images .bmp.
SIG 2013. Atelier technique.
• Représentation impossible :
–Quantifier par catégorie
• Symboles non pris en charge :
–Symboles 3D (ponctuels, linéaires) et remplissage par
texture
• Propriétés des symboles :
–Privilégier la taille des symboles inférieure à
60 points
A savoir, lors de la publication
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Comparatifs : symboles ponctuels
Temps d’affichage d’une couche (shapefile) de 26.500 entités
ponctuelles, selon le type de symbole (en secondes).
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Comparatifs : symboles linéaires
Temps d’affichage d’une couche (shapefile) de 106.500 entités
linéaires, selon le type de symbole (en secondes).
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Comparatifs : symboles surfaciques
Temps d’affichage d’une couche (shapefile) de 75.000 entités
surfaciques, selon le type de symbole (en secondes).
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Ce qu’il faut éviter
• Les masques (hallo autour des symboles)
- utiliser des symboles images (emf)
- utiliser l’outil de masquage (AG advanced)
• La transparence des couches
- utiliser la transparence de couleurs
• Les options de décalage (propriétés de symboles).
• Les symboles images de type BMP
• Les classifications basées sur des champs joints
- utiliser des vues ou sauver la jointure (nouvelle couche)
• Les représentations (sauf pour la mise en cache)
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Etiquettes et annotations
• Définir des plages de visibilité pour les étiquettes.
• Eviter les effets sur les étiquettes
• Convertir en annotations :
- Lorsque les étiquettes ralentissent l’affichage de la carte,
malgré les optimisations vues précédemment.
- Lorsque de nombreuse étiquettes s’affichent à de petites
échelles.
- Pour réduire les temps de création du cache (et éviter les
doublons des labels)
- Si recommandation MxdPerfStat.
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Système de coordonnées
Choix d’un système de coordonnées géographiques
commun : éviter les projections à la volée
- Le changement de projection est coûteux
- Le changement de datum est encore plus coûteux !
Contrôler le système de projection de chaque couche :
- projection de la couche = projection de la carte (dataframe).
Contrôler le système de coordonnées des services de
carte d’une webmap :
- même système de coordonnées géographiques.
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Accès aux bases de données
• Limiter les accès :
- Utiliser un profil de connexion
• Privilégier la connexion directe
• Optimisation côté base de données
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Traitement des rasters
• Proscrire la publication dynamique de service de
carte raster
• Evaluer les plages de visibilité (utile pour créer le cache)
• Pyramidage et statistiques
• Mise en cache (service de carte ou d’image)
• Service d’images :
- Fonctionnalités
- Filtrages
- Mesures
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Dompter le fauve … Bien le connaître
• Nouveautés 10.2:
- Séparation des taches Création des tuiles / Création de la carte:
- Services System Caching Tool & CachingControler
- MapService
- Contrôle avancement: Status.gdb et résultats du geotraitement
ArcGIS Server : trucs et astuces
Seul le nombre d’instances du CachingTool agit sur la vitesse de création des tuiles !!
SIG 2013. Atelier technique.
Ménager sa monture …
• Optimiser les ressources
- Vérifier que le nombre d’instances défini pour le caching tool utilise
uniformément la ressource CPU disponible (< 75%)
- Vérifier que la mémoire occupée < 80% de la RAM totale
- Vérifier que l’occupation CPU noyau soit la plus faible possible
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Pré et Post publication
Les outils
d’analyse
Analyse (ArcMap)
PerfHeatMap
SIG 2013. Atelier technique.
L’outil d’analyse d’ArcMap
• Accessible lors du workflow de publication (ou directement depuis le
menu Fichier
• Objectif :
- identifier les ralentissements de performances et
les erreurs potentielles avant la publication de la
ressource SIG.
• Trois niveaux : - erreur : impossible de publier
- avertissement : problème de performances, d’apparence ou accès
- Message : bonnes pratiques
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
PerfHeatMap
• Test de performances sur une emprise géographique.
• Création d’une classe d’entités :
- classification selon le champ « response_time »
http://arcscripts.esri.com/details.asp?dbid=16880
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
PerfHeatMap : les étapes
1. Créer un schéma de tuilage
- échelles, emprise, référence spatiale
2. Lancer l’outil
- Classe d’entités en sortie
- Service de carte à analyser
- Emprise à traiter
- Taille de l’image retournée
3. Analyser la donnée dans ArcMap
- Représentation selon le champ « response_time »
http://arcscripts.esri.com/details.asp?dbid=16880
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Le site remplace le modèle SOM-SOC
Sauvegarder votre site !!! Documenté :
http://resources.arcgis.com/en/help/main/10.2/index.html#//0154000
00619000000
Site = déploiement de machine(s) qui travaillent
ensembles
Cluster = Regroupe ou isole des
machines selon les services hébergés :
Servir une carte vs Geotraitement
Machine virtuelle: Limité à 2 CPU
> 15mn 75% d’utilisation
ArcGIS Server : trucs et astuces
Ajouter une machine
SIG 2013. Atelier technique.
Dimensionner services et site
ArcGIS Server : trucs et astuces
• Outils : Jmeter
- Définir un scénario de consommation de service
- Définir le nombre d’utilisateurs concurrants
- Exécuter le programme de test de charge
• En fonction des résultats:
- Actions sur les instances de service
- Action sur le site: Ajout / Isolation machine
SIG 2013. Atelier technique.
Actions sur les services
ArcGIS Server : trucs et astuces
• Isolation :
- Basse isolation:1 processus:8-24 instances
- Haute isolation:1 processus = 1 instance
• Instances :
- Mode statique : Services très consultés
- Mode dynamique : SOE et services peu consultés
Utilisation moindre des ressources
Services critiques / mises à jour
SIG 2013. Atelier technique.
ArcGIS Web Adaptor, pour quoi faire ?
Compatible avec IIS et Java EE (WebSphere et WebLogic)
Fourni avec ArcGIS Server (installation séparée)
Petit composant s’intégrant dans un serveur WEB et
reroutant les requetes sur le/les ArcGIS Serveur du
site.
Quand l’utiliser : • Problematique DMZ – Reverse proxy
• Plusieurs ArcGIS Server (Load Balancing)
• Authentification par le serveur WEB
• Masquer le port 6080 et le nom d’instance (arcgis)
• Bloquer les accès administrateurs
http://wa.monorg.fr/map/rest/services
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Suivi des machines du site
• Il connait la liste des machines du site
- Si une machine est ajoutée ou retirée, mise à jour des nœuds du
site
• Les process :
1. Reçoit une requête cliente
2. Tente l’appel sur chaque machine du site
3. Si échec sur un nœud, bannit temporairement le Node et
continue
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Le Web Adaptor et la protection par firewall
Web Adaptor
Scénario simple avec un firewall entre réseau
externe et le serveur Web (+ Adaptor)
Web Adaptor
Scénario à plusieurs firewalls dans une
DMZ avec le Web Adaptor.
Web Adaptor
Scénario à plusieurs firewalls dans une
DMZ, utilisation d’un ReverseProxy
existant et Web Adaptor sur serveur
Web interne (masquer le port ArcGIS Server)
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Intro : l’API Administrateur
• Programmer l'exécution automatique de tâches
courantes, via des scripts.
• Architecture RESTful et peut être appelée à partir de tout langage
capable d'effectuer un appel de service Web (Python, Java, JavaScript,
PowerShell, C#, Ruby, Scala, Perl, etc. )
• Pour exécuter un script qui utilise l'API Administrateur, il n’est pas necéssaire qu’un logiciel Esri
soit installé.
• Quelques exemples de scripts d’administration :
- Envoi d’e-mail si un service est indisponible
- Mise à jour des propriétés de services (ex nombre maximal d'instances)
- Gestion des autorisations sur des services à un utilisateur
- Interroger les journaux et créer des rapports d'utilisation à partir de
leur contenu
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Débuter avec les scripts d’administration
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Exemples de scripts
• Ecriture des propriétés des services du site dans un fichier CSV :
- http://resources.arcgis.com/fr/help/main/10.1/index.html#/na/0154000005wt000000/
- Copier le script de l’aide dans un fichier « .py » et l’exécuter
Ajouter un peu de code pour lister les services qui sont arrêtés anormalement.
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Exemples de scripts
• Statistiques de services à partir des journaux
d’ArcGIS Server - http://resources.arcgis.com/fr/help/main/10.1/index.html#/na/01540
00005qn000000/
- Création d’un fichier texte (csv) qui résume le nombre
d'affichages et la durée d'affichage moyenne pour chaque
service.
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Exemples de scripts
• Etendue des demandes de cartes dans une
couche de polygones
- http://resources.arcgis.com/fr/help/main/10.1/index.html#/na/01540
00005qn000000/
- Créé une classe d’entités avec les étendues et des
informations d'horodatage (affichage temporel)
ArcGIS Server : trucs et astuces
SIG 2013. Atelier technique.
Statistiques serveur
• Cet accès est soumis à une identification de
type publisher ou administrator.
Carte1 (MapServer)
Carte1
ArcGIS Server : trucs et astuces