Combien d'instances de service ArcGIS for Server est optimal?

15

Quel est le meilleur nombre d'instances ArcGIS for Server?

Lorsque j'augmente le nombre d'instances, les services s'exécuteront-ils plus rapidement?

user7172
la source

Réponses:

27

Je citerai quelques références du wiki Dave Peters System Design Strategies , qui est recommandé pour une lecture plus approfondie afin de comprendre la complexité de la réponse à cette question. Je recommanderais également de vérifier la version pertinente de l'aide en ligne sur les services de réglage.

Je pense que c'est en fait une très bonne question, quoique un peu vague, car c'est quelque chose qui est posé plusieurs fois.

Je vais essayer de revenir sur cette question au fil du temps pour renforcer la réponse. Heureux qu'il devienne un wiki communautaire si les gens veulent améliorer ma réponse.

Que sont les instances de service?

L'instance de service est un paramètre de configuration de service qui identifie le nombre minimum et maximum de threads de processus qui seront déployés par ArcGIS for Server pour satisfaire les demandes de service Web entrantes.

Il ne doit pas être confondu avec l'instance d'installation de v9.3.1 et 10 d'ArcGIS Server, qui, pour éviter toute confusion, a maintenant été remplacé par le site GIS Server à la v10.1.

  • Le nombre minimal d'instances de service spécifiées sera déployé au démarrage du serveur.
  • Des instances de service supplémentaires seront déployées par le gestionnaire de services en fonction des demandes de service jusqu'à la configuration de service maximale spécifiée.

Ces instances s'exécutent sur les machines de conteneur (homologues de votre site ArcGIS à 10.1). Si le service est fortement isolé, chaque instance s'exécute comme son propre processus. Une faible isolation permet à plusieurs instances de partager un processus, ce qui est généralement recommandé, car le multi-thread utilise mieux la mémoire (bien que si un processus se bloque, plusieurs travaux pourraient être perdus). Avec une faible isolation, entre 8 et 24 instances d'un même service peuvent partager un processus.

entrez la description de l'image ici

Quel est le cadre optimal?

Il est important d'identifier la configuration d'instance appropriée pour chaque déploiement de service de carte. Les configurations d'instance de service appropriées dépendent des demandes de service de pointe attendues et de la configuration du processeur principal de la machine serveur.

Une application qui utilise une instance ne l'utilisera que pendant la durée nécessaire à l'exécution d'une demande. Une fois la demande terminée, l'instance est renvoyée dans le pool pour que quelqu'un d'autre puisse l'utiliser.

Lorsque le nombre maximal d'instances d'un service est utilisé, un client demandant un service est mis en file d'attente jusqu'à ce qu'un autre client libère l'un des services. Le temps qu'il faut entre un client qui demande un service et l'obtention d'un service est le temps d'attente. 

Vous pouvez inspecter vos journaux et les statistiques d'ArcGIS Server (qui n'existent plus à la version 10.1) pour déterminer quels services sont plus populaires et nécessitent davantage d'instances qui leur sont dédiées.

Dave Peters règle générale qui est une réponse courte à cette question:

Les instances maximales doivent fournir une instance de plus que les cœurs de machine serveur disponibles. c'est-à-dire N + 1 instances où N = nombre de cœurs de serveur

Je recommande fortement de lire ceci directement sur le Wiki et d'ajuster ces paramètres avec soin. Si vous avez besoin de réponses plus spécifiques à un certain scénario, vous devrez le soulever dans une autre question.

Simon
la source
4
Pour ajouter à cela; vous devez également vraiment prendre en considération les types de services; un service mis en cache peut voir beaucoup moins de trafic mais servir des données aussi complexes.
DEWright
1
Outil utile pour les statistiques de serveur manquantes à 10.1 gdbgeek.wordpress.com/2013/01/23/…
Simon