Come eseguire il Benchmark

 

Si applica a: System Center 2012 SP1 - Orchestrator, System Center 2012 - Orchestrator, System Center 2012 R2 Orchestrator

Le attività dei Runbook di Orchestrator possono essere considerate come dotate di due diversi tipi di codice: codice di piattaforma e codice di dominio. Il termine codice di dominio viene utilizzato per identificare il codice di un'attività del Runbook generalmente non associata alla piattaforma di Orchestrator (con ragguardevoli eccezioni, come Invoke Runbook, Junction e altri ancora). Ad esempio, l'attività standard Invoke Web Service conterrà il codice di piattaforma Orchestrator (l'"impianto" dell'attività), nonché il codice di dominio univoco per richiamare un servizio Web basato su SOAP. Il codice di piattaforma sarà molto simile per la maggior parte delle attività, poiché deriva da un framework comune. Tuttavia, le differenze nel codice di dominio per le varie attività potrebbero essere potenzialmente significative.

Registrazione dei dati

Un altro aspetto delle prestazioni dei Runbook è la registrazione dei dati. Per comprendere l'aspetto delle prestazioni, prendere in considerazione due configurazioni di registrazione: predefinita e dei dati pubblicati comuni. Con la registrazione predefinita, ogni volta che viene eseguita un'attività nel database di Orchestrator vengono scritti circa 524 byte di dati. Con la registrazione dei dati pubblicati comuni vengono scritti circa 6.082 byte di dati (12 volte il livello di registrazione predefinito). La differenza di prestazioni tra questi livelli di registrazione è notevole.

Prendere in considerazione uno scenario in cui la stessa attività del Runbook viene eseguita due volte: la prima con la registrazione dei dati al livello predefinito e la seconda con la registrazione dei dati pubblicati comuni. Il tempo necessario per il completamento del codice di dominio deve essere lo stesso. Tuttavia, con la registrazione dei dati pubblicati comuni l'esecuzione del codice di piattaforma richiederà più tempo. In pratica, con la registrazione dei dati pubblicati comuni il codice di piattaforma deve supportare la registrazione di una quantità di dati 12 volte superiore rispetto al livello di registrazione predefinita.

L'attività standard Confronta valori può essere utilizzata per creare i benchmark di un ambiente Orchestrator.

Per creare un Runbook da utilizzare per il benchmark dell'ambiente Orchestrator

  1. Creare un nuovo Runbook.

  2. Aggiungere un'attività Compare Values dalla tavolozza delle attività standard. Fare doppio clic sull'attività per configurarla.

  3. Scegliere la scheda Generale e configurare l'attività per confrontare le stringhe (valore predefinito).

  4. Fare clic sulla scheda Dettagli, digitare il valore STRING nella casella Verifica e selezionare è vuoto.

  5. Fare clic su Fine per salvare gli aggiornamenti dell'attività.

  6. Fare clic con il pulsante destro del mouse sull'attività e selezionare Ciclo.

  7. Selezionare la casella di controllo Abilita e inserire il numero 0 (zero) per Ritardo tra i tentativi.

  8. Fare clic sulla scheda Esci.

  9. Modificare la condizione di uscita predefinita. Fare clic su Confronta valori, selezionare la casella di controllo Visualizza dati pubblicati comuni e quindi selezionare Ciclo: Numero di tentativi. Fare clic su OK per salvare questa modifica.

  10. Selezionare valore dalla condizione di uscita aggiornata e digitare il numero 10000 (diecimila). Fare clic su OK per salvare questa modifica.

  11. Fare clic su Fine per salvare gli aggiornamenti.

  12. Fare clic su Archivia per salvare le modifiche al database di Orchestrator.

Questo semplice Runbook con una sola attività eseguirà l'attività Confronta valori 10.000 volte.Confronta valori è un'attività molto semplice, con un codice di dominio di dimensioni ridotte. È possibile richiamare questo Runbook in diverse situazioni per caratterizzare le prestazioni complessive di un determinato ambiente di runtime Orchestrator.

Questo Runbook consente di sperimentare diverse configurazioni di Orchestrator. Ad esempio, si supponga di voler determinare le prestazioni di quattro server Runbook distribuiti in diversi data center.

Data center

Configurazione di registrazione

Runtime del codice di piattaforma (secondi)

Min/attività

Fattore di scala

Posizione 1

Registrazione predefinita

819

82

1.0 (riferimento)

Posizione 1

Registrazione dei dati pubblicati comuni

2012

201

2.5

Posizione 2

Registrazione predefinita

1229

123

1.5

Posizione 2

Registrazione dei dati pubblicati comuni

3686

369

4.5

Posizione 3

Registrazione predefinita

2457

426

3.0

Posizione 3

Registrazione dei dati pubblicati comuni

4422

442

5.4

Posizione 4

Registrazione predefinita

1474

147

1.8

Posizione 4

Registrazione dei dati pubblicati comuni

2654

265

3.2

Si noti la diminuzione significativa delle prestazioni della piattaforma, dovuta alla registrazione dei dati pubblicati comuni. Lo scenario peggiore sembra essere la registrazione dei dati pubblicati comuni in posizione 2. Apparentemente, questa sembra essere una conclusione chiara e rilevante.

Tuttavia, va evidenziato che questi dati riflettono l'overhead del codice di piattaforma e non riguardano il codice di dominio. I runtime del codice di dominio possono essere notevolmente più lunghi. Ad esempio, l'attività Crea macchina virtuale da modello nell'Integration Pack di Virtual Machine Manager può restare in esecuzione per diversi minuti durante la creazione della macchina virtuale. Proseguendo con l'esempio precedente, si considerino i costi del codice di piattaforma per un'attività del Runbook la cui esecuzione richiede un minuto (1 minuto = 60.000 millisecondi) indipendentemente dalla posizione.

Data center

Configurazione di registrazione

Runtime del codice di piattaforma (secondi)

Percentuale codice di dominio

Percentuale codice di piattaforma

Posizione 1

Registrazione predefinita

819

98,6%

1,4%

Posizione 1

Registrazione dei dati pubblicati comuni

2012

96,7%

3,3%

Posizione 2

Registrazione predefinita

1229

98%

2%

Posizione 2

Registrazione dei dati pubblicati comuni

3686

93,9%

6,1%

Posizione 3

Registrazione predefinita

2457

95,9%

4,1%

Posizione 3

Registrazione dei dati pubblicati comuni

4422

92,6%

7,4%

Posizione 4

Registrazione predefinita

1474

97,5%

2,5%

Posizione 4

Registrazione dei dati pubblicati comuni

2654

95,6%

4,4%

Un'immagine più chiara inizia a emergere dai dati. Lo scenario in cui è attivata la registrazione dei dati pubblicati comuni in posizione 2 continua a essere quello con le prestazioni peggiori. Tuttavia, il codice di piattaforma e la registrazione corrispondono solo al 6% del runtime totale. Benché questo sia un valore significativo, lo scenario migliore è di 1,4%. In pratica, il tempo impiegato nel codice di dominio dell'esempio supera di molto il tempo dedicato all'esecuzione del codice di piattaforma. Sotto questo punto di vista, se si potessero eliminare completamente i costi del codice di piattaforma, i miglioramenti in termini di prestazioni del Runbook ricadrebbero in un intervallo compreso tra l'1,4 e il 7,4%.

Naturalmente la maggior parte degli scenari reali è diversa. Il comportamento dell’attività può variare in base alle istruzioni date al codice di dominio. Ad esempio, un'attività Clona macchina virtuale da modello può richiedere un minuto per la clonazione di una macchina virtuale dal modello server A e cinque minuti dal modello server B. Inoltre, i server Runbook possono trovarsi in reti diverse con caratteristiche di prestazioni differenti, il che può influire sulle prestazioni del codice di dominio e della registrazione dei dati Orchestrator.

Per concludere:

  • Stabilire con attenzione quando registrare i dati pubblicati.

  • Valutare attentamente l'impatto della registrazione dei dati pubblicati comuni. Tenere presente che il numero di esecuzioni delle attività determina il volume dei dati registrati. Un Runbook con poche attività eseguito numerose volte può comportare un volume di dati registrati superiore a quello di un Runbook più esteso eseguito meno frequentemente.

  • Non abilitare la registrazione dei dati pubblicati specifici di attività in ambienti di produzione.

  • Acquisire consapevolezza del tempo che viene impiegato dai Runbook per eseguire il codice di dominio rispetto al codice di piattaforma.

  • Effettuare una stima dei costi del codice di piattaforma utilizzando le tecniche descritte nel presente documento e farvi riferimento nel valutare l'eventuale necessità di migliorare le prestazioni dei Runbook.

  • Utilizzare le tecniche descritte in questo documento per ottenere una conoscenza più approfondita delle prestazioni relative dei vari ambienti di runtime. Identificare le opportunità di miglioramento effettuando un confronto normalizzato delle misurazioni.