Creación de puntos de referencia

 

Se aplica a: System Center 2012 SP1 - Orchestrator, System Center 2012 - Orchestrator, System Center 2012 R2 Orchestrator

Las actividades de los Runbooks de Orchestrator tienen dos tipos de código distintos: código de plataforma y código de dominio. El término código de dominio se utiliza para identificar al código de una actividad de Runbook normalmente no asociada con la plataforma de Orchestrator en sí (con importantes excepciones como, por ejemplo, Invoke Runbook y Junction, entre otras). Por ejemplo, la actividad estándar Invoke Web Service suele contener el código de plataforma de Orchestrator (la “mecánica” de la actividad), así como el código de dominio exclusivo de la invocación de servicios web basados en SOAP. El código de la plataforma será muy similar para la mayoría de las actividades, ya que se genera en un marco común. Sin embargo, es posible que existan importantes variaciones en el código de dominio de las distintas actividades.

Registro de datos

Otro aspecto del rendimiento de los Runbooks es el registro de datos. Existen dos configuraciones de registro que influyen en el rendimiento: registro predeterminado y registro de datos publicados comunes. El registro predeterminado genera aproximadamente 524 bytes de datos que se escriben en la base de datos de Orchestrator cada vez que se ejecuta una actividad. El registro de datos publicados comunes escribe aproximadamente 6082 bytes de datos (12 veces la cantidad del registro predeterminado). Existe una importante diferencia de rendimiento entre estos niveles de registro.

Considere el escenario en el que la misma actividad de Runbook se ejecuta dos veces: una vez con el registro de datos predeterminado y otra con el registro de datos publicados comunes habilitado. El código de dominio tardará el mismo tiempo en completarse. Sin embargo, el código de la plataforma tardará más tiempo en ejecutarse con el registro de datos publicados comunes habilitado. En general, con los datos publicados comunes habilitados, el código de plataforma tiene que registrar una cantidad de datos 12 veces mayor que con el nivel de registro predeterminado.

Es posible utilizar la actividad estándar Comparar valores para crear puntos de referencia de un entorno de Orchestrator.

Para crear un Runbook que pueda usarse como punto de referencia para su entorno de Orchestrator

  1. Cree un Runbook nuevo.

  2. Agregue una actividad Compare Values desde la paleta Actividad estándar. Haga doble clic en la actividad para configurarla.

  3. Haga clic en la pestaña General y configure esta actividad para comparar cadenas (valor predeterminado).

  4. Haga clic en la pestaña Detalles, escriba el valor STRING en el cuadro Prueba y seleccione está vacío.

  5. Haga clic en Finalizar para guardar las actualizaciones realizadas en la actividad.

  6. Haga clic con el botón secundario en la actividad y seleccione Bucle.

  7. Active la casilla Habilitar y escriba el número 0 (cero) para Intervalo entre intentos.

  8. Haga clic en la pestaña Salir.

  9. Cambie la condición de salida predeterminada. Haga clic en Comparar valores, active la casilla Mostrar datos publicados comunes y seleccione Bucle: número de intentos. Haga clic en Aceptar para guardar este cambio.

  10. Seleccione valor en la condición de salida actualizada y escriba el número 10000 (diez mil). Haga clic en Aceptar para guardar este cambio.

  11. Haga clic en Finalizar para guardar estas actualizaciones.

  12. Haga clic en Registrar para guardar los cambios realizados en la base de datos de Orchestrator.

Este simple Runbook de una única actividad ejecutará la actividad Comparar valores 10 000 veces. La actividad Comparar valores es una actividad muy simple cuyo código de dominio es muy reducido. Puede invocar este Runbook en multitud de circunstancias para caracterizar el rendimiento general de un entorno de tiempo de ejecución de Orchestrator determinado.

Este Runbook puede utilizarse para probar diferentes configuraciones de Orchestrator. Por ejemplo, supongamos que desea determinar el rendimiento de cuatro servidores de Runbooks implementados en distintos centros de datos.

Centro de datos

Configuración de registro

Tiempo de ejecución de código de plataforma (segundos)

ms/actividad

Factor de escala

Ubicación 1

Registro predeterminado

819

82

1,0 (referencia)

Ubicación 1

Registro de datos publicados comunes

2012

201

2,5

Ubicación 2

Registro predeterminado

1229

123

1,5

Ubicación 2

Registro de datos publicados comunes

3686

369

4,5

Ubicación 3

Registro predeterminado

2457

426

3,0

Ubicación 3

Registro de datos publicados comunes

4422

442

5,4

Ubicación 4

Registro predeterminado

1474

147

1,8

Ubicación 4

Registro de datos publicados comunes

2654

265

3,2

Tenga en cuenta la importante disminución del rendimiento de la plataforma provocada por el registro de los datos publicados comunes. El peor escenario parece ser el registro de los datos publicados comunes en la ubicación 2. Aparentemente esto parece ser una conclusión clara y relevante.

Sin embargo, debe tenerse en cuenta que estas cifras reflejan la sobrecarga del código de la plataforma, no del código de dominio. Los tiempos de ejecución del código de dominio pueden ser mucho mayores. Por ejemplo, la ejecución de la actividad Crear VM desde plantilla del Paquete de integración de Virtual Machine Manager puede llevar varios minutos mientras se crea la máquina virtual. Analizando el ejemplo anterior con más detalle, veamos los costes de código de plataforma de una actividad de Runbook cuya ejecución lleva 1 minuto (1 minuto = 60 000 milisegundos) sin tener en cuenta la ubicación.

Centro de datos

Configuración de registro

Tiempo de ejecución de código de plataforma (segundos)

% de código de dominio

% de código de plataforma

Ubicación 1

Registro predeterminado

819

98,6%

1,4%

Ubicación 1

Registro de datos publicados comunes

2012

96,7%

3,3%

Ubicación 2

Registro predeterminado

1229

98,0%

2,0%

Ubicación 2

Registro de datos publicados comunes

3686

93,9%

6,1%

Ubicación 3

Registro predeterminado

2457

95,9%

4,1%

Ubicación 3

Registro de datos publicados comunes

4422

92,6%

7,4%

Ubicación 4

Registro predeterminado

1474

97,5%

2,5%

Ubicación 4

Registro de datos publicados comunes

2654

95,6%

4,4%

Estos datos parecen mostrar una imagen más clara. El escenario en el que está habilitado el registro de datos publicados comunes en la Ubicación 2 sigue siendo el que muestra peor rendimiento. Sin embargo, el código de plataforma y el registro solo representan el 6 % del tiempo de ejecución total. Aunque esta es una cifra importante, en el mejor de los escenarios representa un 1,4 %. En general, el tiempo empleado en el código de dominio en el ejemplo anterior supera con creces el tiempo invertido en la ejecución del código de plataforma. Analizando estos datos con perspectiva, si fuese posible eliminar los costes de código de plataforma, solo se apreciaría una mejora del rendimiento del Runbook entre un 1,4 y un 7,4 %.

La situación para la mayoría de los escenarios reales será diferente. El comportamiento de la actividad puede cambiar dependiendo de lo que se indique al código de dominio que deba realizar. Por ejemplo, la actividad Clonar VM desde plantilla puede tardar 1 minuto en clonar una máquina virtual desde la plantilla de servidor A, pero puede tardar 5 minutos en clonar una máquina virtual desde la plantilla de servidor B. Asimismo, es posible que los servidores de Runbooks residan en distintas redes con distintas características de rendimiento que pueden repercutir en el rendimiento del código de dominio y del registro de datos de Orchestrator.

En resumen:

  • Tenga cuidado a la hora de tomar decisiones sobre el registro de datos publicados.

  • Considere las repercusiones que tendrá el registro de datos publicados comunes. Recuerde que el número de veces que se ejecutan las actividades determina el volumen de los datos registrados. Un Runbook con pocas actividades ejecutadas muchas veces puede implicar el registro de un volumen de datos mayor que un Runbook de gran tamaño que se ejecute pocas veces.

  • No habilite el registro de datos publicados según la actividad en entornos de producción.

  • Desarrolle una perspectiva del tiempo que emplearán los Runbooks en ejecutar el código de dominio en comparación con la ejecución del código de plataforma.

  • Estime los costes de código de plataforma mediante las técnicas descritas en este documento. Utilice estas estimaciones como referencia para realizar mejoras en el rendimiento del Runbook.

  • Utilice las técnicas descritas en este documento para mejorar la comprensión del rendimiento relativo de los distintos entornos de tiempo de ejecución. Identifique las oportunidades de mejora mediante comparaciones normalizadas de las mediciones.