Astuces de performances pour les applications Web
Les performances d'une application Web impliquent à la fois la vitesse à laquelle l'application répond aux utilisateurs et le nombre d'utilisateurs qu'une application peut prendre en compte. Lorsque vous envisagez de renforcer les performances de vos applications Web ArcGIS Server, la première chose qui peut vous venir à l'esprit est l'ajout ou la mise à niveau de matériel. Pourtant, en ajustant certains paramètres dans votre application, votre carte ou votre serveur, vous pouvez également améliorer les performances de vos applications Web.
Optimiser les performances d'une carte dès sa conception
La conception de cartes pour le Web a peu de choses à voir avec la conception de cartes papier, ou même des cartes que vous utilisez fréquemment dans des applications bureautiques telles qu'ArcMap. Si vous utilisez souvent une carte dans ArcMap, vous pouvez en enregistrer une copie au lieu de la publier directement sur ArcGIS Server. A l'aide de la copie, vous pouvez apporter des optimisations spécifiques à la visualisation sur le Web.
Quels sont les différences des cartes qui seront visualisées sur le Web ? Pour optimiser les performances de votre carte Web, il est recommandé d'utiliser la barre d'outils Publication de services de carte d'ArcMap pour examiner la carte. Résolvez autant d'erreurs et d'avertissements que possible, puis publiez la carte à l'aide de la barre d'outils. Avec cette opération, votre service repose sur un fichier de définition de carte (.msd ou MSD), ce qui vous permet de le publier en bénéficiant du temps d'affichage le plus rapide possible.
Que votre service de carte soit de type MSD ou non, vous devez envisager sa mise en cache pour optimiser ses performances. La mise en cache d'une carte signifie que vous créez et stockez un ensemble de cartes de type image prérendues qui peuvent être très rapidement utilisées par l'application au lieu d'attendre que la carte s'affiche à chaque fois. Si vous optez pour la mise en cache de la carte, vous devez concevoir la carte pour qu'elle s'affiche correctement à toutes les échelles auxquelles elle sera mise en cache. Reportez-vous à la rubrique Planification d'un cache de carte pour savoir comment procéder.
Mettre en cache vos services de carte
Les services de carte mis en cache distribuent des tuiles de carte pré-dessinées au lieu de dessiner rapidement les cartes de type image. Les services mis en cache non seulement améliorent la vitesse d'affichage de votre carte, mais augmentent également le nombre d'utilisateurs que votre serveur peut prendre en compte. Pour une application Web à destination du public, il est conseillé de toujours mettre en cache le service de fond de plan et d'essayer de mettre en cache tous les services de superposition opérationnels qu'il est possible de mettre en cache.
Evaluer le format d'image avec lequel votre cache de carte est créé
Le format d'image que vous choisissez affecte les performances, l'apparence et la taille sur le disque de votre cache. Le format PNG 8 est idéal pour un grand nombre de services de superposition MXD, tandis que le format PNG 32 est mieux adapté aux services de superposition MSD. Pour les fonds de plan, le format JPEG constitue souvent le meilleur choix, en particulier si la carte comporte de grandes variations de couleurs. Reportez-vous à la rubrique Propriétés de cache de carte disponibles pour en savoir plus sur chaque format d'image.
Eviter de mettre en cache des services de carte au format PNG 24
La capacité d'affichage de la transparence pour les images PNG 24 est limitée dans Internet Explorer 6. Evitez ce scénario en effectuant les opérations suivantes :
- Mise en cache de vos services de carte au format PNG 8, PNG 32 ou JPEG si Internet Explorer 6 doit être utilisé.
- Utilisation d'un navigateur autre qu'Internet Explorer 6 pour afficher les services de carte superposés mis en cache au format PNG 24.
Utiliser des connexions Internet ArcGIS Server lorsque cela est possible
Connectez-vous à votre serveur à l'aide des connexions Internet ArcGIS Server pour utiliser plus efficacement les demandes de contexte du serveur. Les connexions locales à ArcGIS Server doivent uniquement être utilisées lorsque l'application doit changer l'état du service, ce qui inclut la mise à jour des données avec Web ADF.
Supprimer les contrôles Web inutiles
L'application cartographique Web par défaut que vous voyez dans le gestionnaire ou votre environnement IDE comprend des contrôles Web tels que TableOfContents, OverviewMap et Scalebar. Lorsque vous interagissez avec votre application, ces contrôles demandent de nouvelles images et des informations d'état actualisées. La suppression des contrôles de l'application qui sont rarement utilisés contribue à améliorer les performances de l'application et l'évolutivité du système.
Déployer sur un serveur Web de qualité de production
Pour bénéficier de performances optimales, il est recommandé de déployer les applications Web et les gestionnaires de services Web et REST sur un serveur Web de qualité de production. Les serveurs Web utilisés en interne par ArcGIS Server ne sont pas destinés à être utilisés dans un environnement de production. Reportez-vous à la configuration du système pour obtenir la liste complète des serveurs pris en charge. Parmi les serveurs les plus utilisés figurent IBM WebSphere, BEA Weblogic, etc.
Il est également recommandé de configurer une taille de segment de mémoire appropriée pour l'environnement JVM de votre serveur Web à l'aide des indicateurs JVM -Xms et -Xmx. Cela améliorera grandement l'évolutivité de vos applications Web. Par exemple, il est en général suffisant de commencer avec une taille de segment de mémoire initiale de 256 Mo et d'augmenter cette taille jusqu'à un maximum de 1 Go à l'aide des options JVM -Xms256m–-Xmx1024m. Consultez la documentation de votre serveur Web pour plus d'informations sur la configuration de la taille de segment de mémoire.
Eviter les demandes inutilement importantes
Par défaut, les services de carte d'ArcGIS Server limitent à 1 000 le nombre d'enregistrements renvoyés par une requête. Conservez cette valeur ou réduisez-la pour optimiser les performances des requêtes. Vous pouvez changer le nombre de résultats autorisés en modifiant la propriété MaxRecordCount dans le fichier de configuration du service de carte.
Soyez prudent si vous augmentez la valeur par défaut. Pour les requêtes qui renvoient plus de 2 000 enregistrements, le logiciel doit créer des espaces de travail temporaires dans le répertoire TEMP du système, afin de gérer les enregistrements obtenus. Ceci peut avoir un impact négatif sur les performances.
Utiliser des chemins d'accès locaux
Utiliser des chemins d'accès locaux aux cartes source et aux données tend à donner de meilleurs résultats en termes de performances qu'utiliser des chemins d'accès réseau ou UNC (Universal Naming Convention). Si vous utilisez des chemins d'accès locaux et que votre déploiement compte plusieurs machines conteneurs d'objets serveur (SOC), vous devez dupliquer les données sur chaque machine à l'aide de chemins d'accès identiques.
Pour savoir si vous devez utiliser un serveur ArcSDE central ou des géodatabases fichier locales, reportez-vous à la rubrique Observations relatives au stockage des données pour ArcGIS Server.