Vous pouvez configurer plusieurs propriétés pour modifier les paramètres de GeoAnalytics Server dans votre déploiement. La configuration de ces paramètres pour votre organisation est importante en vue d’optimiser les performances du GeoAnalytics Server. Lorsque vous configurez ces paramètres, vous devez prendre en compte les points suivants :
- Le nombre de tâches simultanées qui vont s'exécuter
- La taille des données utilisées
- La fréquence d'exécution des tâches
- Les ressources disponibles
Les Outils GeoAnalytics que les membres du portail exécutent sont optimisés par les tâches du service système GeoAnalyticsTools sur votre site ArcGIS Server. Les propriétés système ci-dessous sont définies sur le site GeoAnalytics Server, tandis que les propriétés du service et le nombre d’instances sont définis dans le service système GeoAnalyticsTools lui-même. Avant de modifier des paramètres, lisez toutes les options de configuration afin de planifier votre configuration GeoAnalytics.
Attention :
Lorsque vous effectuez une mise à niveau vers une nouvelle version de ArcGIS Enterprise, ces paramètresGeoAnalytics Server ne sont pas préservés. Avant la mise à niveau, veuillez noter les paramètres que vous avez modifiés et implémentez-les de nouveau lorsque la mise à niveau est terminée.
Les exemples suivants sont utilisés dans cette rubrique :
- Exemple 1 : un site GeoAnalytics Server de trois machines qui va exécuter une seule tâche à la fois
- Exemple 2 : un site GeoAnalytics Server de trois machines qui va exécuter deux tâches simultanément
Ces deux exemples comprennent trois machines (nœuds), chacune dotée de 16 Go de RAM et de 4 cœurs de processeur. Au total, chaque site GeoAnalytics Server comprend 48 Go de RAM et 12 cœurs.
Remarque :
Il est recommandé de ne pas allouer plus de 30 Go de mémoire par machine à GeoAnalytics.
Propriétés système
Les propriétés système suivantes sont facultatives. Elles peuvent être configurées par un administrateur de site pour allouer des ressources de mémoire et des cœurs de processeur au processus de travail de la plateforme de calcul sur chaque machine du site ArcGIS Server :
- percentageMaxAllowedComputeCores : représente le nombre maximal de cœurs de processeur (sous forme de pourcentage du total disponible sur une machine) qui sera utilisé par le processus de travail de la plateforme de calcul sur un seul nœud. La valeur par défaut est 80 et la valeur maximale autorisée 90 pour cent. Si la valeur spécifiée est inférieure à un cœur de processeur, un cœur de processeur est utilisé pour le processus de travail de la plateforme de calcul.
- percentageMaxAllowedComputeMemory : représente la mémoire maximale (sous forme de pourcentage de la mémoire totale disponible sur une machine) qui sera utilisée par le processus de travail de la plateforme de calcul sur un seul nœud. La valeur par défaut est 80 et la valeur maximale autorisée 90 pour cent.
Pour mettre à jour les propriétés système, procédez comme suit :
- Connectez-vous au répertoire administrateur ArcGIS Server en tant qu'utilisateur doté de privilèges d'administrateur. L’URL est au format http://gisserver.domain.com:6080/arcgis/admin/.
- Accédez à Système > Propriétés.
- Cliquez sur Mettre à jour.
- Ajoutez les propriétés au format JSON suivant : { "percentageMaxAllowedComputeCores": <value>, "percentageMaxAllowedComputeMemory": <value>} (par exemple : {"percentageMaxAllowedComputeCores": 90, "percentageMaxAllowedComputeMemory": 90})
Propriétés du service
Il existe deux propriétés de niveau de service dans le service GeoAnalyticsTools pour allouer la mémoire maximale autorisée et le nombre maximal de cœurs de processeur par tâche. La valeur par défaut est définie sur 6 Go par machine et 4 cœurs de processeur. Il est recommandé de mettre à jour ces valeurs en fonction de la mémoire et des ressources du processeur disponibles sur votre site. Les valeurs par défaut ne permettent pas de tirer parti du calcul distribué et entraînent une dégradation des performances.
Remarque :
Seuls les administrateurs peuvent définir des propriétés au niveau du service. Vous devez connaître le nombre de cœurs sur votre site de serveur et la quantité de mémoire RAM présente sur chaque machine. Si vous ignorez ces valeurs, vous pouvez utiliser le contrôle d’intégrité GeoAnalytics pour les calculer.
L’équation suivante permet d’estimer la mémoire maximale autorisée par tâche par machine :
Floor(((percentageMaxAllowedComputeCores) * (total cores on the Server Site) / (number of simultaneous jobs)) = (Maximum allowed compute cores per job)
L’équation suivante permet d’estimer le nombre de cœurs de calcul maximal autorisés par tâche :
Floor((percentageMaxAllowedComputeMemory) * (GB of RAM on a single GeoAnalytics machine) / (number of simultaneous jobs)) = (Maximum allowed memory per job per machine)
Remarque :
La quantité de mémoire utilisée par machine est la même sur toutes les machines GeoAnalytics Server. Si votre site GeoAnalytics Server comporte plusieurs machines ayant différentes quantités de mémoire RAM, utilisez la valeur de la machine ayant le moins de mémoire RAM.
Pour l’exemple 1, vous souhaitez utiliser jusqu’à 80 pour cent des cœurs de calcul et de la mémoire de calcul disponibles (comme le décrit la section Propriétés système). Avec un site totalisant 12 cœurs de processeur et 48 Go de RAM (16 sur chaque machine), les quantités de cœurs et de mémoire RAM sont déterminées à l’aide des équations ci-dessous.
- Nombre de cœurs :
Floor(((.80) * (12))/1) = Floor(9.6) = 9
- Quantité de mémoire RAM par machine :
Floor(((.80) * (16))/1) = Floor(12.8) = 12
Pour tirer parti des ressources disponibles dans GeoAnalytics Server et distribuer la tâche sur plusieurs machines du site, vous pouvez mettre à jour les valeurs comme suit :
- Quantité maximale de mémoire autorisée par tâche et par machine (Go) : 12
- Nombre maximal de calculs de cœurs autorisés par tâche (UC) : 9
Vous vous assurez ainsi que la tâche sera distribuée aux trois machines du site et qu’elle utilisera un peu moins de 80 pour cent des ressources disponibles sur toutes les machines. L'allocation définie aura également un impact sur le nombre d'instances, comme expliqué ci-dessous.
Pour l’exemple 2, vous souhaitez utiliser jusqu’à 80 pour cent des cœurs de calcul et de la mémoire de calcul disponibles (comme le décrit la section Propriétés système) et être capable d’exécuter deux tâches à la fois. Cela signifie que les ressources doivent être définies pour deux tâches à tout moment. Avec un site totalisant 12 cœurs de processeur et 48 Go de RAM (16 sur chaque machine), les quantités de cœurs et de mémoire RAM sont déterminées à l’aide des équations ci-dessous.
- Nombre de cœurs :
Floor(((.80) * (12))/2) = Floor(4.8) = 4
- Quantité de mémoire RAM par machine :
Floor(((.80) * (16))1) = Floor(6.4) = 6
Pour tirer parti des ressources disponibles dans GeoAnalytics Server et distribuer la tâche sur plusieurs machines du site, vous pouvez mettre à jour les valeurs comme suit :
- Quantité maximale de mémoire autorisée par tâche et par machine (Go) : 6
- Nombre maximal de calculs de cœurs autorisés par tâche (UC) : 4
Pour modifier ces propriétés, procédez comme suit :
- Connectez-vous à ArcGIS Server Manager sur GeoAnalytics Server en tant qu’utilisateur disposant de privilèges d’administration. L’URL est au format https://gisserver.domain.com:6443/arcgis/manager.
- Sous l'onglet Services, sélectionnez le dossier Système.
- Dans la liste des services disponibles, localisez le service GeoAnalyticsTools et modifiez-le.
- Utilisez l'onglet Paramètres pour définir les propriétés du service. On compte les suivantes :
- Maximum allowed memory per job per machine (GB) (Quantité maximale de mémoire autorisée par tâche et par machine (Go)) : représente le volume de mémoire en gigaoctets pouvant être utilisé par tâche et par machine.
- Nombre maximal de calculs de cœurs autorisés par tâche (UC) : représente le nombre total de cœurs de processeur pouvant être utilisés par tâche sur toutes les machines de votre grappe.
- Lorsque vous avez terminé, cliquez sur Enregistrer et redémarrer pour mettre à jour les propriétés du service.
Si les valeurs initiales ne sont pas modifiées, une tâche GeoAnalytics n’utilise qu’une partie des ressources disponibles (4 cœurs et 18 Go sur les 12 cœurs et 48 Go de la configuration d’exemple).
Remarque :
Lorsque vous sélectionnez le volume de mémoire à utiliser, veillez à définir un nombre inférieur ou égal au pourcentage configuré pour les ressources de la machine (80 pour cent, par défaut). Ainsi, les tâches attendront pendant une minute des ressources indisponibles, puis seront annulées avec l’erreur suivante : ERROR BD_101057: Unable to start distributed job. Please check your GeoAnalyticsTools service settings and ensure that there are enough resources available for the job to run. (Impossible de démarrer la tâche distribuée. Vérifiez les paramètres du service GeoAnalyticsTools pour vous assurer que les ressources disponibles sont suffisantes pour exécuter la tâche.) Cette erreur s’affiche également si des ressources sont indisponibles, car elles sont sollicitées par d’autres tâches.
Nombre minimum et maximum d'instances du service GeoAnalyticsTools
Le nombre minimum et maximum par défaut d'instances du service GeoAnalyticsTools est défini sur une par machine ArcGIS Server sur le site. Selon le nombre de machines (n) que le site GeoAnalytics Server comprend, (n) nombre d'instances seront disponibles pour accepter les tâches GeoAnalytics. Selon le nombre d'instances et la quantité de mémoire et de cœurs de processeur alloués par tâche dans les propriétés du service, une ou plusieurs requêtes simultanées peuvent être traitées. Les requêtes supplémentaires adressées aux Outils GeoAnalytics sont mises en file d'attente jusqu'à ce que l'instance ou les ressources mémoire et du processeur deviennent disponibles. Si aucune ressource ne se libère au bout d’une minute, la tâche est annulée.
L'allocation de la quantité maximale possible de mémoire et de cœurs de processeur par tâche est idéale pour les tâches qui le nécessitent.
Pour traiter plusieurs tâches en même temps, vous pouvez augmenter le nombre maximum d'instances par machine sur le site. Vous devrez toutefois également modifier les limites de mémoire et de processeur par tâche afin que la quantité de ressources de processeur et de mémoire disponible soit suffisante pour chaque tâche simultanée.
Pour définir le nombre minimum et maximum par défaut d'instances du service GeoAnalyticsTools, procédez comme suit :
- Connectez-vous au répertoire administrateur d'ArcGIS Server. L’URL est au format https://gisserver.domain.com:6443/arcgis/admin.
- Accédez à Services > Système > GeoAnalyticsTools.
- Cliquez sur Modifier.
- Mettez à jour les propriétés maxInstancesPerNode et minInstancesPerNode et cliquez sur Enregistrer les mises à jour.
Dans l’exemple comptant trois machines, trois instances au total seront disponibles, ce qui est suffisant pour répondre à la fois aux exigences des cas d’utilisation de l’exemple 1 et de l’exemple 2. Pour exécuter plus de trois tâches simultanées dans ce scénario à trois machines, vous devez également mettre le nombre d’instances à jour, en plus d’ajuster les limites spécifiques au processeur et à la mémoire.
Les limites totales de processeur et de mémoire sur toutes les instances doivent être inférieures à la limite système de processeur et de mémoire. La mémoire totale par nœud multipliée par le nombre d’instances doit être inférieure à ce qui est disponible sur une seule machine (c’est-à-dire, 16 Go x 0,80)/2 instances = 6,4, et doit être un entier -> 6). Les cœurs de calcul doivent être inférieurs au nombre total de cœurs divisé par le nombre d’instances (c’est-à-dire, (12 cœurs x 0,80)/2 instances = 4,8 -> 4)).
Expiration du service GeoAnalyticsTools
Par défaut, les tâches de longue durée traitées par le service GeoAnalyticsTools expirent au bout de 24 heures. Vous pouvez mettre à jour cette propriété afin que les outils expirent après une exécution plus ou moins longue. Vous pouvez mettre à jour la propriété d'expiration du service GeoAnalyticsTools dans ArcGIS Server Manager en procédant comme suit.
- Connectez-vous à ArcGIS Server Manager. L’URL est au format https://gisserver.domain.com:6443/arcgis/manager.
- Sous l'onglet Services, sélectionnez le dossier Système.
- Dans la liste des services disponibles, localisez le service GeoAnalyticsTools et modifiez-le.
- Utilisez l'onglet Groupage pour définir la propriété d'expiration du service sous la section Spécifier les délais d'expiration du service. Dans Durée maximale pendant laquelle un client peut utiliser un service, utilisez la durée en secondes que vous voulez attribuer à la nouvelle propriété d'expiration.
- Cliquez sur Enregistrer et redémarrer pour mettre à jour le service.
Emplacement de fichier temporaire GeoAnalytics Server
Lorsqu’une tâche est exécutée dans GeoAnalytics Server, des fichiers temporaires sont écrits par défaut dans le dossier \<ArcGIS Server installation directory>\server\framework\runtime\spark\work>. Les administrateurs peuvent sélectionner un autre emplacement pour les fichiers temporaires en spécifiant la propriété geoAnalyticsTempFolder comme indiqué ci-après.
Remarque :
geoAnalyticsTempFolder doit se trouver dans un répertoire local sur chaque machine du site GeoAnalytics Server et ce répertoire doit comporter un espace disque disponible considérable pour autoriser l’exécution de tâches GeoAnalytics sur des jeux de données volumineux.
- Connectez-vous au répertoire administrateur ArcGIS Server sur le site GeoAnalytics Server en tant qu’utilisateur doté de privilèges d’administrateur. L’URL est au format http://gisserver.domain.com:6080/arcgis/admin/.
- Accédez à Système > Propriétés.
- Cliquez sur Mettre à jour.
- Ajoutez la propriété au format JSON suivant : {"geoanalyticsTempFolder": "<value>"} (par exemple : {"geoanalyticsTempFolder": "/data/temp"}) Jusqu’à une minute sera nécessaire pour que le changement soit reflété sur la page des propriétés système.
- Vérifier l’état de GeoAnalytics Server à l’aide du service de contrôle de l’intégrité Compute Platform (Plateforme de calcul). Accédez à System (Système) > Platform Services (Services de plateforme) > Compute_Platform et cliquez sur health (intégrité).
Vous avez un commentaire à formuler concernant cette rubrique ?