ArcGIS Server vous permet de d’utiliser des instances partagées ou des instances dédiées pour chaque service de carte compatible publié sur un site ArcGIS Server à partir de ArcGIS Pro. L’utilisation d’instances partagées permet de préserver la quantité de mémoire utilisée en regroupant plusieurs processus serveur actifs à utiliser par plusieurs services. La quantité de mémoire utilisée par les services qui ne gèrent pas activement de demandes est ainsi réduite.
Héritage :
Avant la version 10.7, tous les services utilisaient le modèle des instances dédiées.
Les instances partagées sont recommandées pour les services qui ne reçoivent pas souvent de demandes, particulièrement lorsque le site du serveur héberge de nombreux services. D’autre part, les instances dédiées mettent toujours un service à disposition pour le traitement des requêtes grâce à un ou plusieurs traitements serveur et conviennent parfaitement aux services qui reçoivent des requêtes fréquentes ou exigeant beaucoup de ressources de calcul.
Cette rubrique explique les processus et instances de service, décrit les meilleures pratiques en termes d’instances partagées et dédiées et présente les étapes de configuration de vos paramètres d’instances de service.
Présentation des instances de service
Lorsqu’une demande est adressée à un service de votre site ArcGIS Server, par exemple pour se déplacer dans une carte ou accéder à une adresse, elle est gérée par une instance du service publié exécuté sur une machine serveur. Les instances de service sont alimentées par les processus serveur propriétaires d’Esri, appelés processus ArcSOC. Chaque processus ArcSOC, pour être exécuté, utilise une certaine quantité de mémoire de votre machine.
S’il existe un grand nombre de services sur votre site ArcGIS Server et que chacun utilise une ou plusieurs instances de service qui s’exécutent en permanence, la quantité de mémoire disponible sur votre ordinateur risque d’atteindre sa limite. L’exécution de ces instances de service représente également un coût énergétique pour votre organisation, et si vous déployez ArcGIS Server sur une infrastructure cloud, vous devrez supporter un coût financier direct pour chaque instance de service que vous exécutez.
En conséquence, il est important que les administrateurs de ArcGIS Server surveillent le nombre d’instances exécutées par leur site et limitent le nombre d’instances en cours d’exécution lorsque les performances sont entravées par la quantité de mémoire utilisée.
Les utilisateurs espèrent des résultats rapides lorsqu’ils interagissent avec vos services (ou avec les produits qui reposent sur ces services, tels que les applications et cartes web). Des processus ArcSOC adéquats sont requis pour gérer le trafic reçu par vos services. Toutefois, fournir une quantité de ressources serveur supérieure à celle requise par un service est source de gaspillage en termes de quantité de mémoire des ordinateurs, d’énergie et d’argent. Les administrateurs doivent donc s’efforcer de réduire le nombre d’instances de service en cours d’exécution au minimum sans pour autant affecter les performances.
Pour en savoir plus sur les stratégies de gestion actives permettant d’optimiser les performances de ArcGIS Server, reportez-vous à la rubrique Anticiper et prendre en compte les utilisateurs.
Remarque :
Vous pouvez inspecter les processus ArcSOC dans votre environnement pour identifier les ArcSOC qui s’exécutent pour chaque service basé sur serveur sur votre machine ArcGIS Server.
Vous pouvez exécuter une commande ps -ef | grep arcsoc sur votre machine Linux et inspecter le paramètre -Dservice= pour chaque processus afin de rechercher le nom du service associé à un processus ArcSOC.
Nombres minimum et maximum d’instances de service
Pour chaque service publié sur votre site ArcGIS Server qui utilise des instances dédiées, ArcGIS Server Manager vous permet de spécifier un nombre minimal d’instances dédiées en cours d’exécution et un nombre maximal d’instances pouvant s’exécuter pour le service. Par exemple, si vous définissez ce paramètre sur trois instances, au moins trois instances sont exécutées sur les processus ArcSOC à tout moment, même si le service n’est pas utilisé.
Si vous définissez le nombre minimum d’instances sur zéro, aucune instance n’est exécutée pour le service si ce dernier n’est pas utilisé. Cela permet d’économiser de la mémoire en arrêtant un service non utilisé, mais il existe tout de même un inconvénient : la prochaine fois qu’un utilisateur enverra une demande au service, la réponse sera retardée. Ce démarrage à froid pendant que ArcGIS Server démarre une instance en vue du traitement de la demande auprès du service peut être constaté par l’utilisateur à l’origine de la demande.
Instances partagées et dédiées
Un groupe d’instances partagées s’exécute sur chaque machine de votre site lorsque les services sont configurés pour l’utiliser. Les services qui utilisent le groupe d’instances partagées n’occasionnent plus de frais liés à l’utilisation des ressources lorsqu’ils traitent des demandes et aucun inconvénient lié au démarrage à froid n’est à noter.
Conseil :
Pour déterminer l’application à partir de laquelle un service de carte a été publié, reportez-vous à l’étape 3 de la rubrique Configurer le type d’instance d’un service ci-après.
Les restrictions suivantes limitent les services qui peuvent utiliser le groupe d’instances partagées :
- Seuls les services de carte publiés depuis ArcGIS Pro peuvent être configurés pour utiliser le groupe d’instances partagées. Les autres types de service, tels que les services de géotraitement, ne sont pas pris en charge.
- Seules certaines fonctionnalités des services de carte (accès aux entités, WFS, WMS et KML) peuvent être activées. Désactivez toutes les autres fonctionnalités avant de continuer.
- Les services publiés depuis ArcMap ne peuvent pas utiliser d’instances partagées.
- Les services de carte mis en cache publiés depuis ArcGIS Pro qui remplissent les conditions ci-dessus peuvent utiliser des instances partagées.
Héritage :
Avant la version 10.8.1, les services comportant des extensions d’objets serveur (SOE) ou des intercepteurs d’objet serveur (SOI) ne pouvaient pas utiliser le pool d’instances partagées.
Les instances partagées sont distinctes des instances dédiées, qui n’exécutent qu’un service spécifique jusqu’à leur arrêt. Les instances dédiées peuvent toujours être utilisées par les administrateurs, en particulier pour les services dont le trafic est intense. Cela permet à la fois de garantir des performances optimales pour ces services en leur fournissant des ressources de serveur dédiées et d’empêcher les services à trafic élevé d’utiliser tous les processus de votre groupe.
Remarque :
Lorsque vous mettez à niveau ArcGIS Server vers 10.9.1 à partir de la version 10.6.1 ou antérieure, le nombre minimal d’instances défini pour les services ne change pas, mais un groupe par défaut de processus ArcSOC est défini à part pour les instances partagées. Si vous souhaitez configurer des instances partagées pour l’ensemble de vos services ou certains d’entre eux, vous pouvez le faire après la mise à niveau.
Quand utiliser chaque type d’instance
Aucun de ces types d’instance n’est le meilleur pour l’ensemble de vos services de carte. En tant qu’administrateur de site serveur, vous pouvez spécifier le groupe d’instances à utiliser par chaque service publié sur votre site.
Vous pouvez configurer les instances partagées pour certains de vos services tout en choisissant d’octroyer à d’autres services leurs propres processus ArcSOC dédiés. Vous pouvez choisir cette configuration fractionnée si vous savez que certains de vos services reçoivent des demandes continues, tandis que d’autres sont utilisés moins fréquemment. Si tous vos services ne reçoivent que des demandes occasionnelles, envisagez de configurer les instances partagées pour tous les services afin d’économiser la mémoire utilisée.
Conseil :
Les modèles d’utilisation changeant souvent, lorsque vous surveillez votre site, ajustez les paramètres des types d’instance comme bon vous semble, en fonction du trafic et des performances du serveur.
Le groupe d’instances partagées convient aux services de carte compatibles, tels que les suivants :
- Les services utilisés occasionnellement. Cela varie en fonction du déploiement, mais pour la plupart des déploiements, cela représente en moyenne moins d’une demande de service par minute.
- Les services pour lesquels vous avez déjà défini le nombre minimum d’instances dédiées sur zéro.
- La plupart des services de carte mis en cache.
Par contre, le groupe d’instances dédiées représente la meilleure option pour les services tels que les suivants :
- Les services que vous achetez dans le cadre d’un contrat de service.
- Les services extrêmement utilisés (demandes presque incessantes ou nécessitant une capacité de calcul particulièrement importante).
- Les services pour lesquels vous avez défini le nombre minimum d’instances dédiées sur un nombre élevé.
- Tous les services non compatibles avec le groupe d’instances partagées, comme défini ci-avant.
Configurer le groupe d’instances partagées
Les administrateurs peuvent configurer des paramètres pour le groupe d’instances partagées sur leur site à l’aide de Server Manager. Les paramètres disponibles sont le nombre d’instances partagées par machine et la taille de cache par instance partagée.
La première fois qu’une nouvelle installation de ArcGIS Server10.9.1 héberge un service de carte compatible qui utilise le groupe d’instances partagées, le site commence à exécuter les instances partagées. Par défaut, le nombre d’instances partagées dans le groupe est défini sur un nombre approprié correspondant au nombre de cœurs de processeur physiques sur chaque machine.
Si les services de votre site utilisent en majorité ou en totalité le groupe d’instances partagées, envisagez de définir le nombre d’instances de service dans le groupe partagé de sorte qu’il représente deux fois le nombre de cœurs de processeur physiques sur les machines individuelles de votre site ArcGIS ServerArcGIS Server (par exemple, si vous utilisez des machines à 4 cœurs, envisagez de fixer la taille du groupe à huit instances).
Remarque :
Si vous utilisez l’hyperthreading, des vCPU ou des cœurs logiques (par exemple, comme si votre site se trouve dans un environnement virtuel ou cloud), considérez chaque cœur virtuel comme étant l’égal de la moitié d’un cœur physique.
Sur les sites de serveur où de nombreux services utilisent des instances dédiées, si vous souhaitez que davantage de ressources système soient allouées à ces services, vous pouvez envisager de réduire la taille du groupe d’instances partagées. Le nombre d’instances partagées dans le groupe ne doit pas être inférieur au nombre de cœurs de processeur physiques présents sur votre machine, sauf si aucun service n’utilise le groupe. Si aucun service sur votre site n’utilise d’instances partagées, vous pouvez définir le nombre d’instances par machine sur zéro.
Chaque instance dans le groupe partagé met en cache des informations sur les services ayant reçu des demandes car la mise en cache de ces informations améliore les performances des demandes suivantes pour ces mêmes services. Chaque service mis en cache consomme une petite quantité de mémoire.
Le paramètre de taille de cache détermine le nombre de services mis en cache par chaque instance dans le groupe d’instances partagées. À moins de disposer d’une grande quantité de mémoire et d’un nombre élevé de service recevant tous régulièrement des demandes, il est recommandé de conserver la valeur par défaut de 50 services mis en cache par instance.
Vous pouvez envisager d’augmenter la valeur de la taille de cache si vous disposez de plus de 50 services recevant régulièrement des demandes, si vous rencontrez des problèmes de performances et que vous disposez d’une mémoire disponible que vous souhaitez utiliser à cette fin.
Ces suggestions sont indiquées comme points de départ. Surveillez votre site ArcGIS Server pour être certain d’exploiter au mieux vos ressources disponibles et veiller à ce que le site ne soit pas surchargé par le trafic. Le nombre optimal d’instances dans le groupe et la taille de cache optimale des instances dépendent du volume du trafic géré par le groupe partagé, de la quantité et du type de données traitées et de la quantité de ressources de calcul disponibles.
Procédez comme suit pour spécifier le nombre d’instances dans le groupe d’instances partagées et leur taille de cache.
- Connectez-vous à ArcGIS Server Manager en tant qu’administrateur. L’URL est au format https://webadaptor.domain.com/arcgis/manager.
- Accédez à Site (Site) > Settings (Paramètres). Vous accédez à ces paramètres depuis la page Pooling (Groupage).
- Cliquez sur le bouton Modifier de Shared Instance Settings (Paramètres des instances partagées).
- Dans la boîte de dialogue, changez les valeurs des champs Number of shared instances per machine (Nombre d’instances partagées par machine) ou Cache size per shared instance (Taille du cache par instance partagée) selon vos souhaits.
- Confirmez votre sélection en cliquant sur Apply (Appliquer).
Configurer les paramètres des instances de service par défaut
Les administrateurs peuvent spécifier un paramètre de type d’instance par défaut pour les services de carte compatibles publiés depuis ArcGIS Pro. Lorsqu’un tel service est publié sur votre serveur, il utilise le type d’instance par défaut. Vous pouvez alors modifier le type d’instance de ce service à l’aide de la procédure de la section qui suit.
Le paramètre initial du type d’instance par défaut de votre site ArcGIS Server10.9.1 varie selon que le site a été nouvellement installé ou mis à niveau :
- Les sites ArcGIS Server créés dans 10.9.1 affectent tous les services de carte compatibles au groupe d’instances partagées en tant que paramètre d’instance par défaut.
- Les sites ArcGIS Server mis à niveau à partir des versions 10.7 ou 10.7.1 conservent leur paramètre d’instance par défaut actuel. Le paramètre initial dans ces versions consistait en instances dédiées, avec la possibilité d’utiliser des instances partagées.
- Sur les sites ArcGIS Server mis à niveau à partir de la version 10.6.1 ou antérieure, les instances dédiées correspondent au type d’instance par défaut. Le groupe d’instances partagées est créé la première fois que vous configurez un service de carte compatible pour utiliser des instances partagées.
Si vous sélectionnez des instances partagées comme type d’instance par défaut pour vos services, ce paramètre ne s’applique qu’aux services de carte compatibles. Les services qui ne peuvent pas utiliser le groupe d’instances partagées continuent à utiliser leur groupe d’instances dédiées.
La modification du type d’instance par défaut n’affecte que les services publiés par la suite. Cela ne modifie pas les paramètres de type d’instance des services existants.
Remarque :
Le groupe d’instances partagées consomme une faible quantité de mémoire dépendant du nombre de services recevant des requêtes. Dans le cas d’un groupe d’instances partagées gérant les requêtes d’un grand nombre de services, vous verrez la mémoire augmenter progressivement à mesure que le nombre de services recevant des requêtes augmente. Cette augmentation des niveaux de consommation de mémoire se stabilise une fois que 50 services ou plus ont reçu des demandes au cours d’une même période de recyclage.
Procédez comme suit pour spécifier le type d’instance par défaut de services de carte compatibles.
- Connectez-vous à ArcGIS Server Manager en tant qu’administrateur. L’URL est au format https://webadaptor.domain.com/arcgis/manager.
- Accédez à Site (Site) > Settings (Paramètres). Ces paramètres sont accessibles à partir de la page Pooling (Groupage).
- Pour modifier le type d’instance par défaut des services de carte compatibles, cliquez sur le bouton de modification de Default Instance Type (Type d’instance par défaut). Sélectionnez le type d’instance à utiliser comme paramètre par défaut :
- Sélectionnez Dedicated instances (Instances dédiées) si vous prévoyez que la plupart de vos services recevront un trafic élevé ou si vous le nombre de services exécutés sur votre site de serveur n’est pas suffisant pour exercer une charge importante sur la mémoire de la machine.
- Sélectionnez Shared instances (Instances partagées) si vous publiez de nombreux services qui reçoivent uniquement des demandes non fréquentes ou si vous pensez que la publication de services supplémentaires risque de contraindre vos ressources mémoire.
- Confirmez votre sélection en cliquant sur Apply (Appliquer).
Configurer le type d’instance d’un service
Les administrateurs peuvent également spécifier le type d’instance d’un service une fois que ce dernier a été publié et remplacer ainsi le paramètre par défaut. Pour modifier le type d’instance d’un service, suivez la procédure ci-après. Pour utiliser le groupe d’instances partagées, un service de carte doit avoir été publié depuis ArcGIS Pro et remplir les autres conditions mentionnées plus haut.
- Partagez une couche web (en tant que couche d’images de carte) ou une carte web de ArcGIS Pro avec votre portail ArcGIS Enterprise. Un service de carte est créé sur votre serveur ArcGIS Server fédéré.
Remarque :
Seules certaines fonctionnalités des services de carte (accès aux entités, WFS, WMS et KML) peuvent être activées sur un service de carte qui utilise le groupe d’instances partagées.
- Connectez-vous à ArcGIS Server Manager en tant qu’administrateur. L’URL est au format https://webadaptor.domain.com/arcgis/manager.
- Recherchez le service de carte.
Une propriété Authoring Application (Création de l’application) indique que ce service de carte a été publié depuis ArcGIS Pro. Cliquez sur le lien de modification du service.
- Dans la partie gauche de la page, cliquez sur l'onglet Pooling (Groupage).
Cet onglet vous permet de spécifier la plage d’instances dédiées des services (le cas échéant), de définir les propriétés de délai d’expiration du service et d’indiquer si le service utilise des instances dédiées ou des instances partagées.
- Indiquez sur le service doit utiliser le groupe d’instances partagées (Shared instance pool) ou son propre groupe d’instances dédiées (Dedicated instance pool).
- Lorsqu’un service est configuré pour utiliser le groupe d’instances partagées, certaines fonctionnalités de service de carte (sur l’onglet Capabilities (Fonctionnalités)) ne sont pas disponibles. Si vous ne parvenez pas à sélectionner l’option Shared instance pool (Groupe d’instances partagées), assurez-vous que des fonctionnalités non prises en charge ne sont pas activées sur le service de carte. Reportez-vous à la remarque de l’étape 1.
- Lorsqu’un service est configuré pour utiliser le groupe d’instances partagées, la section Specify Number of Instances (Spécifier le nombre d’instances) (pour les groupes d’instances dédiées) n’est plus disponible.
- Une fois que vous êtes prêt, cliquez sur Save and restart (Enregistrer et redémarrer). Si l’option du groupe d’instances a été modifiée sur un service de carte, ce service doit être redémarré.
Vous pouvez modifier le groupe d’instances utilisé par un service de carte à tout moment, notamment lors d’un changement de modèle de trafic de service.
Vous avez un commentaire à formuler concernant cette rubrique ?