Cómo crear un runbook de prueba comparativaHow to create a benchmark runbook

Se aplica a: System Center 2016 - OrchestratorApplies To: System Center 2016 - Orchestrator

Debe crear un banco de pruebas de rendimiento para optimizar el rendimiento de su runbook de Orchestrator.You will need to create a performance benchmark in order to optimize the performance for your Orchestrator runbook. Como parte de la creación de la prueba comparativa debe analizar las actividades del runbook.As part of creating the benchmark you should analyze the activities in your runbook.

Las actividades de los Runbooks de Orchestrator tienen dos tipos de código distintos: código de plataforma y código de dominio.Orchestrator runbook activities can be thought of as having two distinct types of code: platform code and domain code. El término código de dominio se utiliza para identificar al código de una actividad de runbook normalmente no está asociada a la misma plataforma de Orchestrator (con importantes excepciones como invocar Runbook, unióny otros).The term domain code is used to identify code within a runbook activity that is typically not associated with the Orchestrator platform itself (with notable exceptions, such as Invoke Runbook, Junction, and others). Por ejemplo, el invocar servicio Web actividad estándar suele contener el código de plataforma de Orchestrator (la "mecánica" de la actividad) , así como código de dominio exclusivo de la invocación SOAP-servicio web basado en.For example, the Invoke Web Service standard activity would contain Orchestrator platform code (the "plumbing" of the activity) as well as domain code unique to invoking a SOAP-based web service. 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.The platform code will be very similar for most activities, since it is built on a common framework. Sin embargo, es posible que existan importantes variaciones en el código de dominio de las distintas actividades.However, there will potentially be great variation in domain code for different activities.

Registro de datosData Logging

Registro de datos tiene un impacto mayor en el rendimiento de runbook.Data logging has a major impact on runbook performance. Tenga en cuenta dos configuraciones de registro con el fin de rendimiento: Registro predeterminado y el registro de datos publicados comunes.For the purpose of understanding performance consider two logging configurations: Default logging and Common Published Data logging. 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.Default logging results in approximately 524 bytes of data being written to the Orchestrator database each time an activity is run. El registro de los datos publicados comunes escribe aproximadamente 6082 bytes de datos (12 veces el nivel de registro predeterminado).Logging of common published data writes approximately 6,082 bytes of data (12 times the default logging level). Existe una importante diferencia de rendimiento entre estos niveles de registro.There is a notable difference in performance between these logging levels.

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.Consider the scenario where the same runbook activity is run twice, once with data logging at the default level and once with logging of common published data enabled. El código de dominio tardará el mismo tiempo en completarse.The domain code should take the same amount of time to complete. Sin embargo, el código de la plataforma tardará más tiempo en ejecutarse con el registro de datos publicados comunes habilitado.However, the platform code will take longer to run with common published data logging enabled. 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.Essentially, the platform code has to support logging 12 times more data with common published data enabled than it did when running at the default logging level.

Es posible utilizar la actividad estándar Comparar valores para crear puntos de referencia de un entorno de Orchestrator.The Standard Activity Compare Values can been used to create benchmarks of an Orchestrator environment.

Para crear un Runbook que pueda usarse como punto de referencia para su entorno de OrchestratorTo create a runbook that can be used to benchmark your Orchestrator environment

  1. Cree un Runbook nuevo.Create a new runbook.
  2. Agregue una actividad Compare Values desde la paleta Actividad estándar.Add a Compare Values activity from the Standard Activity palette. Doble-haga clic en la actividad para configurarla.Double-click the activity to configure it.
  3. Haga clic en el General pestaña y configure esta actividad para comparar cadenas (el valor predeterminado).Click the General tab and configure this activity to compare strings (the default value).
  4. Haga clic en la pestaña Detalles , escriba el valor STRING en el cuadro Prueba y seleccione está vacío.Click the Details tab, type the value STRING in the Test box and select is empty.
  5. Haga clic en Finalizar para guardar las actualizaciones realizadas en la actividad.Click Finish to save the updates to the activity.
  6. Haga clic con el botón secundario en la actividad y seleccione Bucle.Right-click the activity and select Looping.
  7. Seleccione el habilitar casilla y especifique el número 0 (cero) para intervalo entre intentos.Select the Enable checkbox and enter the number 0 (zero) for Delay between attempts.
  8. Haga clic en la pestaña Salir .Click the Exit tab.
  9. Cambie la condición de salida predeterminada.Change the default exit condition. Haga clic en comparar valores, compruebe la mostrar datos publicados comunes casilla de verificación y seleccione bucle: Número de intentos de.Click Compare Values, check the Show Common Published Data checkbox, and select Loop: Number of attempts. Haga clic en Aceptar para guardar este cambio.Click OK to save this change.
  10. Seleccione valor en la salida actualizada condición y escriba el número 10000 (diez-miles).Select value from the updated exit condition and type the number 10000 (ten-thousand). Haga clic en Aceptar para guardar este cambio.Click OK to save this change.
  11. Haga clic en Finalizar para guardar estas actualizaciones.Click Finish to save these updates.
  12. Haga clic en Registrar para guardar los cambios realizados en la base de datos de Orchestrator.Click Check In to save the changes to the Orchestrator database.

Este simple uno-actividad runbook se ejecutará una comparar valores 10 000 veces.This simple one-activity runbook will run a Compare Values activity 10,000 times. La actividadComparar valores es una actividad muy simple cuyo código de dominio es muy reducido.Compare Values is a very simple activity whose domain code is quite minimal. Puede invocar este Runbook en multitud de circunstancias para caracterizar el rendimiento general de un entorno de tiempo de ejecución de Orchestrator determinado.This runbook can be invoked under a variety of circumstances to characterize the overall performance of a given Orchestrator runtime environment.

Este Runbook puede utilizarse para probar diferentes configuraciones de Orchestrator.This runbook can be used to experiment with different configurations of Orchestrator. Por ejemplo, supongamos que desea determinar el rendimiento de cuatro servidores de Runbooks implementados en distintos centros de datos.For example, supposed you wanted to determine the performance of four Runbook Servers deployed to different data centers.

Centro de datosData Center Configuración de registroLogging Configuration Tiempo de ejecución de código de plataforma (segundos)Platform Code Run Time (seconds) MS\/actividadms\/Activity Factor de escalaScale Factor
Ubicación 1Location 1 registro predeterminadoDefault logging 819819 8282 1.0 (referencia)1.0 (reference)
Ubicación 1Location 1 Registro de datos publicados comunesLogging common published data 20122012 201201 2,52.5
Ubicación 2Location 2 registro predeterminadoDefault logging 1.2291229 123123 1,51.5
Ubicación 2Location 2 Registro de datos publicados comunesLogging common published data 3.6863686 369369 4,54.5
Ubicación 3Location 3 registro predeterminadoDefault logging 2.4572457 426426 3,03.0
Ubicación 3Location 3 Registro de datos publicados comunesLogging common published data 4.4224422 442442 5,45.4
Ubicación 4Location 4 registro predeterminadoDefault logging 1.4741474 147147 1,81.8
Ubicación 4Location 4 Registro de datos publicados comunesLogging common published data 2.6542654 265265 3,23.2

Tenga en cuenta la importante disminución del rendimiento de la plataforma provocada por el registro de los datos publicados comunes.Notice the significant decrease in platform performance caused by logging of common published data. El peor escenario parece ser el registro de los datos publicados comunes en la ubicación 2.The worst scenario appears to be logging of common published data at Location 2. Aparentemente, parece ser una conclusión clara y relevante.On the surface, this appears to be a clear and relevant conclusion.

Sin embargo, debe tenerse en cuenta que estas cifras reflejan la sobrecarga del código de la plataforma, no del código de dominio.However, it should be noted that these figures reflect the overhead of the platform code, not the domain code. Los tiempos de ejecución del código de dominio pueden ser mucho mayores.Domain code runtimes can be significantly longer. 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.For example, the Create VM from Template activity in the Virtual Machine Manager Integration Pack may run for several minutes as the VM is created. Analizando el ejemplo anterior, tenga en cuenta los costes de código de plataforma de una actividad de runbook que lleva 1 minuto para ejecutar (1 minuto = 60.000 milisegundos) independientemente de la ubicación.Expanding on the previous example, consider the platform code costs on a runbook activity that takes 1 minute to run (1 minute = 60,000 milliseconds) regardless of location.

Centro de datosData Center Configuración de registroLogging Configuration Tiempo de ejecución de código de plataforma (segundos)Platform Code Run Time (seconds) % de código de dominio% Domain Code % de código de plataforma% Platform Code
Ubicación 1Location 1 registro predeterminadoDefault logging 819819 98,6%98.6% 1,4%1.4%
Ubicación 1Location 1 Registro de datos publicados comunesLogging common published data 20122012 96,7%96.7% 3,3%3.3%
Ubicación 2Location 2 registro predeterminadoDefault logging 1.2291229 98,0%98.0% 2,0%2.0%
Ubicación 2Location 2 Registro de datos publicados comunesLogging common published data 3.6863686 93,9%93.9% 6,1%6.1%
Ubicación 3Location 3 registro predeterminadoDefault logging 2.4572457 95,9%95.9% 4,1%4.1%
Ubicación 3Location 3 Registro de datos publicados comunesLogging common published data 4.4224422 92,6%92.6% 7,4%7.4%
Ubicación 4Location 4 registro predeterminadoDefault logging 1.4741474 97,5%97.5% 2,5%2.5%
Ubicación 4Location 4 Registro de datos publicados comunesLogging common published data 2.6542654 95,6%95.6% 4,4%4.4%

Estos datos parecen mostrar una imagen más clara.A clearer picture begins to emerge from the data. 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.The scenario where logging of common published data is enabled at Location 2 continues to be the worst performer. Sin embargo, el código de plataforma y el registro solo representan el 6 % del tiempo de ejecución total.However, the platform code and logging only accounts for 6% of the total runtime. Aunque esto es una cifra importante, el mejor-escenario de caso es 1,4%.While this is a significant figure, the best-case scenario is 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.Essentially, the time spent in the domain code in the example far outweighs the time spent running platform code. 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 %.To put this in perspective, if you were able to completely eliminate the platform code costs, you would only see runbook performance improvements in the range of 1.4 to 7.4%.

Por supuesto mayoría real-situaciones del mundo será diferentes.Of course most real-world scenarios will be different. El comportamiento de la actividad puede cambiar dependiendo de lo que se indique al código de dominio que debe realizar.Activity behavior may change depending on what the domain code is told to do. 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.For example, a Clone VM from Template activity may take one minute to clone a VM from Server Template A, but take 5 minutes to clone a VM from Server Template B. Also, Runbook Servers may reside on different networks with different performance characteristics which can potentially impact both domain code performance as well as Orchestrator data logging performance.

En resumen:To summarize:

  • Tenga cuidado a la hora de tomar decisiones sobre el registro de datos publicados.Make careful decisions about when to log published data.
  • Considere las repercusiones que tendrá el registro de datos publicados comunes.Carefully consider the impact of logging common published data. Recuerde que el número de veces que se ejecutan las actividades determina el volumen de los datos registrados.Remember that the number of times activities run determines the volume of logged data. 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.A runbook with a small number of activities run many times can result in more data logging than a larger runbook run a small number of times.
  • No habilite el registro de datos publicados según la actividad en entornos de producción.Do not enable logging of activity specific published data in production environments.
  • 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.Develop an understanding of how much time your runbooks spend running domain code compared to running platform code.
  • Estime los costes de código de plataforma mediante las técnicas descritas en este documento.Estimate platform code costs using the techniques outlined in this document. Utilice estas estimaciones como referencia para realizar mejoras en el rendimiento del Runbook.Use as a reference in considering where to make improvements in runbook performance.
  • 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.Use the techniques outlined in this document to gain a deeper understanding of the relative performance of your different runtime environments. Identifique las oportunidades de mejora mediante comparaciones normalizadas de las mediciones.Identify opportunities for improvement by making normalized comparisons of your measurements.

Pasos siguientesNext steps

Obtener instrucciones paso a paso para la creación de runbooks en crear y probar un runbook de ejemplo.Get step by step instructions for creating runbooks at Creating and testing a sample runbook.