Programación por lotes basada en prioridades

Importante

Esta función estará habilitada de forma predeterminada para todas las instancias existentes con la versión 10.0.29.

Esta función está habilitada de forma predeterminada para todas las instancias nuevas con la versión 10.0.28.

Esta característica ya está disponible a partir de la versión 10.0.25., por lo cual si deseamos comenzar a preparar nuestros entornos es un muy buen momento.

Las ventajas de la programación por lotes basada en prioridades incluyen:

  • Las prioridades se introducen hasta el nivel de trabajo por lotes.
  • Sirve como un requisito previo para near-zero downtime servicing.
  • No vincula un trabajo por lotes a un servidor en particular.

Anteriormente en Dynamics 365 trabajamos con los grupos de lotes, los cuales nos servían para agrupar nuestros trabajos por lotes, y a su vez, definir un servidor predeterminado de ejecución.

Con esta nueva funcionalidad como hemos mencionado anteriormente, eliminamos la vinculación con un servidor de lotes en particular y lo que toma el control son las prioridades de la programación

Veamos cómo funciona en términos prácticos:

Cada grupo de lote ahora contiene una prioridad de programación y a su vez los trabajos por lotes asociados al grupo de lote heredan la prioridad del grupo de lotes al cual pertenecen.

Para asociar un trabajo por lotes a un grupo de lotes, podemos hacerlo directamente dentro del trabajo por lotes

Sin embargo, es posible anular la prioridad dada por el grupo de lotes y definir una especifica dentro del trabajo por lotes directamente.

Entendamos ahora como funcionan estas prioridades al momento de ejecutar un trabajo.

Tenemos 5 tipos de prioridades diferentes y cada una tiene un Peso específico:

Peso de prioridad

  • Bajo 5%
  • normales 10%
  • Alto 15%
  • Crítico 30%
  • Capacidad reservada 40% + subprocesos X dedicados

Por ejemplo, si tenemos 100 tareas por lotes para procesar. Se atenderán cuarenta tareas de la capacidad reservada, 30 de la Prioridad crítica, 15 de la Prioridad alta, 10 de la Prioridad normal y cinco de la Prioridad baja. No es el orden de ejecución basado en la prioridad lo que se seleccionará para el procesamiento, sino el peso de las tareas por lotes de cada prioridad.

Es importante que una vez que active esta funcionalidad o sea activada por defecto, identifique las prioridades de los trabajos por lotes existentes.

habilite la programación basada en prioridades en la administración de funciones. De forma predeterminada, todos los trabajos por lotes existentes tendrán la prioridad Normal.

actualice de forma selectiva las prioridades de los trabajos que no son de prioridad normal (como capacidad reservada, crítica, alta y baja).

Aplicar capacidad reservada si es necesario dedicar capacidad para algunos trabajos más allá de la prioridad.

Establecer el nivel de capacidad reservada para trabajos por lote

Vaya a Administración del sistema > Configuración > Parámetros del sistema.

En la pestaña Configuración global de lote, en el campo Nivel de capacidad reservada de lote, seleccione el nivel de capacidad reservada para usar con los trabajos por lotes que tienen prioridad de capacidad reservada:

  • Sin capacidad reservada: este valor es el valor predeterminado.
  • Capacidad reservada baja: el 10% de los subprocesos por lotes acumulativos están reservados.
  • Capacidad reservada media: el 15% de los subprocesos por lotes acumulativos están reservados.
  • Alta capacidad reservada: el 25% de los subprocesos por lotes acumulativos están reservados.

Por ejemplo, hay diez instancias de Batch AOS, cada una de las cuales está configurada con 12 subprocesos. Por lo tanto, el número acumulativo de subprocesos por lotes es 120. Si configura el nivel de capacidad reservada por lotes como capacidad reservada alta, el 25 por ciento de los subprocesos acumulativos (es decir, 30 subprocesos) se dedicará a procesar tareas por lotes desde la cola reservada. Estos 30 subprocesos se asignarán entre tres instancias de AOS. Por lo tanto, tres de las diez instancias de AOS se dedicarán a procesar la cola reservada. Si no hay tareas por lotes para procesar en la capacidad reservada, esas tres instancias de AOS estarán inactivas.

Mejores prácticas

Lo recomendado es ajustar la prioridad para que los trabajos por lotes no tengan la misma prioridad, Por ejemplo, no establezca la prioridad de todos los trabajos por lotes en Alta o Crítica. La siguiente tabla proporciona la distribución que debe tener en cuenta al configurar las prioridades de lotes.

Prioridad Posible porcentaje de distribución de batjobs, excluyendo Capacidad reservada

  • Bajo 10% a 50%
  • Normal 15% a 35%
  • Alto 15% a 35%
  • Crítico 10% a 30%

Los trabajos por lotes deben programarse de tal manera que siempre haya una combinación de trabajos con diferentes prioridades durante todo el día. Por ejemplo, no programe todos los trabajos por lotes con la prioridad Normal por la mañana, Alta por la tarde, Crítico por la tarde y Baja por la noche.

La cola reservada, cuando se usa con prioridad de capacidad reservada, brindará la experiencia de tener recursos dedicados para el trabajo por lotes. Si no es necesario, no asigne trabajos por lotes a la prioridad de capacidad reservada.

Las prioridades no se utilizan para apilar tareas de rango entre sí. En cambio, las prioridades determinan la probabilidad con la que se elegirá una tarea para su ejecución.

Es recomendado que mantenga la misma cantidad de subprocesos en todos los servidores para eliminar la degradación del rendimiento.

Si hay cargas de trabajo más grandes, recomendamos dividirlas en cargas de trabajo o tareas más pequeñas para que se ejecuten y completen en diez minutos o menos.

Recomendamos tener más de un grupo de lotes para aprovechar la programación de lotes basada en prioridades y usar diferentes prioridades a nivel de grupo de lotes.

Recursos Adicionales

Priority-based batch scheduling

Deja una respuesta