Exécution d'un banc d'essai

 

S'applique à: System Center 2012 SP1 - Orchestrator, System Center 2012 - Orchestrator, System Center 2012 R2 Orchestrator

Les activités de runbook d'Orchestrator peuvent être considérées comme ayant deux types de codes distincts : code de plateforme et code de domaine. Le terme code de domaine est utilisé pour identifier du code au sein d'une activité de Runbook qui n'est généralement pas associé à la plate-forme Orchestrator même (avec des exceptions notables, par exemple Invoke Runbook, Junction et d'autres). Par exemple, l'activité standard Invoke Web Service contient du code de plate-forme Orchestrator (qui constitue la « plomberie » de l'activité) ainsi que du code de domaine unique pour l'appel d'un service Web basé sur SOAP. Le code de plate-forme est très similaire pour la plupart des activités, dans la mesure où il est construit à partir d'une infrastructure commune. Cependant, il existe potentiellement une variation importante du code de domaine pour différentes activités.

Journalisation des données

Un autre aspect des performances des Runbook est la journalisation des données. Afin de mieux comprendre les performances, prenons deux configurations de journalisation : La journalisation par défaut et la journalisation des données publiées communes. La journalisation par défaut écrit environ 524 octets de données dans la base de données Orchestrator à chaque exécution d'une activité. La journalisation des données publiées communes écrit environ 6 082 octets de données (12 fois le niveau par défaut). Il existe une différence notable de performances entre ces niveaux de journalisation.

Prenons le cas où la même activité de Runbook est exécutée deux fois, une fois avec la journalisation des données par défaut et une fois avec la journalisation des données publiées communes activée. Le code de domaine doit prendre le même temps pour aboutir. Toutefois, le code de plate-forme prendra plus de temps à s'exécuter si la consignation des données publiées communes est activée. Fondamentalement, le code de plate-forme doit gérer la journalisation de 12 fois plus de données avec les données publiées communes activées qu'avec la journalisation par défaut.

L'activité standard Comparer des valeurs peut être utilisée pour créer des bancs d'essai d'un environnement Orchestrator.

Pour créer un Runbook à utiliser pour effectuer un banc d'essai de votre environnement Orchestrator

  1. Créez un nouveau Runbook.

  2. Ajoutez une activité Compare Values à partir de la palette d'activités standard. Double-cliquez sur l'activité pour la configurer.

  3. Cliquez sur l'onglet Général et configurez cette activité pour comparer des chaînes (la valeur par défaut).

  4. Cliquez sur l'onglet Détails, tapez la valeur STRING dans la zone Test puis sélectionnez est vide.

  5. Cliquez sur Terminer pour enregistrer les mises à jour de l'activité.

  6. Cliquez avec le bouton droit sur l'activité et sélectionnez Boucle.

  7. Cochez la case Activer et entrez le chiffre 0 (zéro) pour Délai entre les tentatives.

  8. Cliquez sur l'onglet Quitter.

  9. Modifiez la condition de sortie par défaut. Cliquez sur Comparer des valeurs, activez la case à cocher Afficher les données publiées communes, puis sélectionnez Boucle : Nombre de tentatives. Cliquez sur OK pour enregistrer cette modification.

  10. Sélectionnez valeur dans la condition de sortie mise à jour et tapez le nombre 10000 (dix mille). Cliquez sur OK pour enregistrer cette modification.

  11. Cliquez sur Terminer pour enregistrer ces mises à jour.

  12. Cliquez sur Enregistrer pour enregistrer les modifications apportées à la base de données Orchestrator.

Ce simple Runbook à une activité exécute une activité Comparer des valeurs 10 000 fois.Comparer des valeurs est une activité très simple dont le code de domaine est relativement réduit. Ce Runbook peut être appelé dans différentes circonstances pour caractériser les performances globales d'un environnement d'exécution Orchestrator donné.

Ce Runbook peut servir à tester différentes configurations d'Orchestrator. Par exemple, supposons que vous souhaitiez déterminer les performances de quatre serveurs Runbook déployés sur différents centres de données.

Centre de données

Configuration de la journalisation

Temps d'exécution du code de plate-forme (secondes)

ms/activité

Facteur d'échelle

Emplacement 1

Journalisation par défaut

819

82

1.0 (référence)

Emplacement 1

Journalisation des données publiées communes

2012

201

2,5

Emplacement 2

Journalisation par défaut

1229

123

1,5

Emplacement 2

Journalisation des données publiées communes

3686

369

4,5

Emplacement 3

Journalisation par défaut

2457

426

3,0

Emplacement 3

Journalisation des données publiées communes

4422

442

5,4

Emplacement 4

Journalisation par défaut

1474

147

1,8

Emplacement 4

Journalisation des données publiées communes

2654

265

3,2

Remarquez la diminution considérable des performances de la plate-forme provoquée par la journalisation des données publiées communes. Le pire scénario semble être la journalisation des données publiées communes à l'emplacement 2. À première vue, cela semble être une conclusion claire et pertinente.

Toutefois, il convient de noter que ces chiffres correspondent à la surcharge du code de plate-forme, pas du code de domaine. Les exécutions de code de domaine peuvent être beaucoup plus longues. Par exemple, l'activité Créer un ordinateur virtuel à partir d'un modèle du pack d'intégration de Virtual Machine Manager peut s'exécuter pendant plusieurs minutes lors de la création de l'ordinateur virtuel. Pour poursuivre avec l'exemple précédent, envisageons les coûts de code de plate-forme sur une activité de Runbook qui prend une minute à s'exécuter (1 minute = 60 000 millisecondes), indépendamment de son emplacement.

Centre de données

Configuration de la journalisation

Temps d'exécution du code de plate-forme (secondes)

% de code de domaine

% de code de plate-forme

Emplacement 1

Journalisation par défaut

819

98,6 %

1,4 %

Emplacement 1

Journalisation des données publiées communes

2012

96,7 %

3,3 %

Emplacement 2

Journalisation par défaut

1229

98,0 %

2,0 %

Emplacement 2

Journalisation des données publiées communes

3686

93,9 %

6,1 %

Emplacement 3

Journalisation par défaut

2457

95,9 %

4,1 %

Emplacement 3

Journalisation des données publiées communes

4422

92,6 %

7,4 %

Emplacement 4

Journalisation par défaut

1474

97,5 %

2,5 %

Emplacement 4

Journalisation des données publiées communes

2654

95,6 %

4,4 %

Une image plus claire commence à émerger des données. Le scénario selon lequel la journalisation des données publiées communes est activée à l'emplacement 2 continue de présenter les pires performances. Toutefois, le code de la plate-forme et la journalisation représentent seulement 6 % du temps total d'exécution. Même si ce chiffre est intéressant, le scénario idéal est de 1,4 %. Essentiellement, le temps passé dans le code de domaine dans l'exemple compense largement le temps passé à exécuter le code de plate-forme. Pour mettre cela en perspective, même si vous avez supprimé totalement les coûts du code de plate-forme, vous constatez des améliorations dans les performances du Runbook uniquement dans une fourchette comprise entre 1,4 % et 7,4 %.

Bien entendu, dans la plupart des cas, les scénarios réels sont différents. Le comportement des activités peut varier en fonction des instructions que reçoit le code de domaine. Par exemple, une activité Cloner un ordinateur virtuel à partir d'un modèle peut prendre une minute pour cloner un ordinateur virtuel à partir d'un modèle de serveur A, mais prendre 5 minutes pour cloner un ordinateur virtuel à partir d'un modèle de serveur B. En outre, les serveurs Runbook peuvent être hébergés sur des réseaux différents dotés de caractéristiques de performances différentes, qui peuvent potentiellement avoir un impact sur les performances du code de domaine ainsi que sur les performances de journalisation des données Orchestrator.

Pour récapituler :

  • Prenez des décisions avisées concernant le moment de la journalisation des données publiées.

  • Étudiez attentivement l'impact de la journalisation des données publiées communes. N'oubliez pas que le nombre d'exécutions d'activités détermine le volume des données journalisées. Un Runbook comptant un petit nombre d'activités exécutées plusieurs fois peut engendrer un plus grand volume de journalisation des données qu'un Runbook plus important exécuté un nombre de fois plus réduit.

  • N'activez pas la journalisation de données publiées spécifiques à une activité dans les environnements de production.

  • Comprenez bien le temps que passent vos Runbook à exécuter du code de domaine par rapport au code de plate-forme.

  • Estimez les coûts en termes de code de plate-forme en utilisant les techniques décrites dans ce document. Utilisez-les comme référence pour décider où apporter des améliorations aux performances des Runbook.

  • Utilisez les techniques présentées dans ce document pour mieux comprendre les performances relatives de vos différents environnements d'exécution. Identifiez les opportunités d'amélioration du produit par des comparaisons normalisées de vos mesures.