Allocation de ressources serveur à la mise en cache
Dans cette rubrique
- Choix du nombre d'instances pour le service CachingTools
- Choix du nombre d'instances travaillant sur une tâche de mise en cache
- Définition du nombre de tâches pouvant être exécutées simultanément
- Utilisation d'agrégats
ArcGIS for Server crée des tuiles de cache à l'aide d'un service de géotraitement appelé CachingTools. Ce service est configuré dans le dossier système lorsque vous créez le site ArcGIS for Server. Le nombre d'instances que vous prévoyez pour le service CachingTools détermine la puissance que votre machine peut consacrer aux tâches de mise en cache.
En outre, vous devez toujours disposer d'au moins une instance d'exécution de la carte, du globe ou du service d'imagerie que vous mettez en cache. L'augmentation du nombre d'instances du service de carte, de globe ou d'imagerie n'a pas d'effet sur la vitesse de création des tuiles.
Héritage :
Dans les versions 10.0 et antérieures, pour augmenter le nombre de processus du système d'exploitation consacrés à une tâche de mise en cache, vous deviez augmenter le nombre d'instances du service de carte ou de globe mis en cache. Dans la version 10.1 et les versions ultérieures, vous augmentez à la place le nombre d'instances de service de géotraitement CachingTools.
Choix du nombre d'instances pour le service CachingTools
A tout moment, vous pouvez utiliser le Gestionnaire pour ajuster le nombre maximal d'instances de service de géotraitement CachingTools que vous souhaitez rendre disponibles pour la mise en cache. Les valeurs maximales et minimales s'appliquent à chaque serveur SIG. Par conséquent, si la valeur maximale est définie sur 3 et que vous disposez de quatre serveurs SIG dans l'agrégat exécutant le service CachingTools, vous pouvez avoir jusqu'à 12 instances CachingTools en cours d'exécution.
Ce comportement vous permet d'ajouter et de supprimer des serveurs SIG dans votre site pour augmenter ou réduire le nombre de ressources dédié à la mise en cache. Vous pouvez même ajouter un serveur SIG lorsque la tâche de mise en cache est en cours d'exécution. Elle sera détectée et des tuiles à créer lui seront affectées.
Si vous choisissez d'autoriser trop d'instances du service CachingTools, votre machine risque d'être surchargée et inefficace. Si vous choisissez d'autoriser trop peu d'instances, votre machine risque d'être sous-utilisée. Vous devrez procéder à des essais avant de trouver le nombre adapté d'instances. Pour commencer, autorisez un maximum de n + 1 instances, où n est le nombre de cœurs de processeurs sur une seule machine de votre grappe. Si vous déployez votre site sur Amazon Web Services, utilisez 2n + 1, où n est le nombre de cœurs virtuels sur une seule instance EC2 de votre site.
Le service CachingTools doit fonctionner en mode Asynchrone. Il s'agit de la valeur par défaut.
Choix du nombre d'instances travaillant sur une tâche de mise en cache
Les outils tels que Gérer des tuiles de cache de serveur de carte vous permettent de choisir le nombre d'instances de CachingTools affectées à la tâche. Vous pouvez choisir de partager les instances disponibles de CachingTools entre plusieurs tâches en cours d'exécution. Une tâche peut ne pas utiliser son nombre maximal d'instances de CachingTools si ces instances sont utilisées par d'autres tâches. Si une tâche de mise en cache utilise toutes les instances CachingTools, les autres tâches demandées sont mises en file d'attente jusqu'à la fin de la première tâche.
Scénarios
Supposons que vous souhaitiez créer un cache et que vous possédiez quatre serveurs SIG sur un site, avec une seule grappe. Vous avez configuré chaque serveur de sorte à autoriser un maximum de cinq instances de CachingTools. Vous pouvez affecter un maximum de 20 instances à une tâche de mise en cache.
Pour exécuter deux tâches de mise en cache simultanées sur le site et assurer une charge à distribution égale, vous pouvez affecter 10 instances à chaque tâche.
Pour plus de souplesse
Vous avez peut-être configuré votre site dans un environnement cloud permettant d'ajouter automatiquement des serveurs SIG en cas de demande. Dans ce cas, vous pouvez ne pas souhaiter être limité par un nombre fixe d'instances pouvant travailler sur une tâche. Entrez donc la valeur -1 pour indiquer qu'il n'y a pas de limite au nombre d'instances pouvant travailler sur la tâche. Toutes les instances disponibles de CachingTools sont utilisées pour la tâche, quel que soit le nombre de serveurs SIG ajoutés au site.
Définition du nombre de tâches pouvant être exécutées simultanément
Si trop d'éditeurs demandent simultanément la création de cache, le serveur peut être surchargé, même si vous choisissez de n'affecter qu'un nombre limité d'instances à chaque tâche. Le service CachingControllers (dans le dossier Système) détermine le nombre de tâches pouvant être exécutées simultanément.
Le nombre maximum d'instances pour le service CachingControllers est 3, ce qui signifie que seuls trois tâches de mise en cache peuvent être exécutées simultanément. Si le serveur reçoit une requête pour une quatrième tâche de mise en cache, elle sera mise en file d'attente jusqu'à ce qu'une autre tâche soit terminée. Si vous voulez autoriser l'exécution de quatre tâches à la fois, vous pouvez définir sur 4 le nombre maximum d'instances de CachingControllers.
Utilisation d'agrégats
Dans les grands sites ArcGIS, les agrégats permettent de répartir le travail entre plusieurs sous-ensembles de serveurs SIG. Les tâches de mise en cache s'étendent. Elles sont réparties sur tous les serveurs SIG disponibles dans l'agrégat dans lequel le service CachingTools s'exécute.
Lorsque vous configurez votre site pour la première fois, vous disposez d'un seul agrégat appelé default. Si vous souhaitez limiter vos tâches de mise en cache à un sous-ensemble de machines, vous devez créer un nouvel agrégat et faire en sorte que le service CachingTools s'exécute sur cet agrégat. Vous pouvez ensuite attribuer les autres services à un agrégat différent afin qu'ils ne soient pas perturbés par les processus de la tâche de mise en cache.
Vous pouvez créer un cache pour un service qui ne s'exécute pas dans le même agrégat que le service de géotraitement CachingTools. Par exemple, vous pouvez avoir un service de carte, Espagne, qui s'exécute sur un agrégat A et votre service CachingTools tournant sur un agrégat B. Avec cette configuration, vous pouvez quand même créer un cache pour le service Espagne.
Vous devez toujours exécuter les services CachingTools et CachingControllers sur la même grappe.
Vous avez un commentaire à formuler concernant cette rubrique ?