Equilibrador de carga del servicio de integración de PowerCenter
El equilibrador de carga es un componente del servicio de integración de PowerCenter que distribuye las tareas a los procesos del servicio de integración de PowerCenter que se ejecutan en los nodos de una malla. Hace coincidir los requisitos de la tarea con la disponibilidad de recursos para identificar el mejor proceso del servicio de integración de PowerCenter para ejecutar una tarea. Puede distribuir tareas en un único nodo o en varios nodos.
Puede configurar los valores del equilibrador de carga para el dominio y para los nodos del dominio. Los valores que configure para el dominio se aplicarán a todos los servicios de integración de PowerCenter del dominio.
Puede configurar los siguientes valores para el dominio a fin de determinar cómo el equilibrador de carga distribuye las tareas:
- •Modo de distribución. El modo de distribución determina cómo el equilibrador de carga distribuye las tareas. Puede configurar el equilibrador de carga para que distribuya tareas de modo Round-Robin sencillo, de modo Round-Robin usando las mediciones de carga de nodos o al nodo con la mayoría de los recursos informáticos disponibles.
- •Nivel de servicio. Los niveles de servicio establecen prioridades de distribución entre las tareas que están a la espera de ser distribuidas. Puede crear diferentes niveles de servicio que un desarrollador de flujo de trabajo puede asignar a los flujos de trabajo.
Puede configurar los siguientes valores del equilibrador de carga para cada nodo:
- •Recursos. Cuando el servicio de integración de PowerCenter se ejecuta en una malla, el equilibrador de carga puede comparar los recursos que requiere una tarea con los recursos disponibles en cada nodo. El equilibrador de carga distribuye tareas a los nodos que tienen los recursos necesarios. Puede asignar los recursos necesarios en las propiedades de la tarea. Puede configurar los recursos disponibles mediante Administrator Tool o infacmd.
- •Perfil de la CPU. En un modo de distribución adaptativo, el equilibrador de carga utiliza el perfil de la CPU para clasificar el rendimiento informático de cada CPU y la arquitectura de un bus en una malla. Utiliza este valor para garantizar que más nodos potentes adquieran prioridad para su distribución.
- •Umbrales de provisión de recursos. El equilibrador de carga comprueba uno o varios umbrales de provisión de recursos para determinar si puede distribuir una tarea. El equilibrador de carga comprueba los diferentes umbrales del modo de distribución.
Cómo configurar el modo de distribución
El equilibrador de carga utiliza el modo de distribución para seleccionar un nodo a fin de ejecutar una tarea. Ha de configurar el modo de distribución para el dominio. Por tanto, todos los servicios de integración de PowerCenter de un dominio utilizan el mismo modo de distribución.
De hecho, al cambiar el modo de distribución para un dominio, debe reiniciar todos los servicios de integración de PowerCenter de dicho dominio. El modo de distribución anterior seguirá aplicándose hasta que reinicie el servicio de integración de PowerCenter.
Debe configurar el modo de distribución en las propiedades del dominio.
El equilibrador de carga utiliza los siguientes modos de distribución:
- •Round-Robin. El equilibrador de carga distribuye las tareas a los nodos disponibles de modo Round-Robin. Comprueba el umbral de procesos máximos en cada nodo disponible y excluye un nodo si la distribución de una tarea da lugar a que se supere el umbral. Este modo es el que menos recursos informáticos consume y, además, es útil cuando la carga de la malla es equilibrada y las tareas que se van a distribuir tienen requisitos informáticos similares.
- •Basado en mediciones. El equilibrador de carga evalúa los nodos de modo Round-Robin. Comprueba todos los umbrales de provisión de recursos en cada nodo disponible y excluye un nodo si la distribución de una tarea da lugar a que se superen los umbrales. El equilibrador de carga sigue evaluando los nodos hasta que encuentra un nodo que pueda aceptar la tarea. Este modo impide sobrecargar los nodos cuando las tareas tienen distintos requisitos informáticos.
- •Adaptativo. El equilibrador de carga clasifica los nodos según la disponibilidad actual de la CPU. Comprueba todos los umbrales de provisión de recursos en cada nodo disponible y excluye un nodo si la distribución de una tarea da lugar a que se superen los umbrales. Este modo impide sobrecargar los nodos y garantiza el mejor rendimiento en una malla que no está muy cargada.
En la siguiente tabla, se comparan los diferencias entre los modos de distribución:
Modo de distribución | ¿Comprueba los umbrales de provisión de recursos? | ¿Usa las estadísticas de tareas? | ¿Usa el perfil de la CPU? | ¿Permite la derivación en la cola de distribución? |
---|
Round-Robin | Comprueba los procesos máximos. | No | No | No |
Basado en mediciones | Comprueba todos los umbrales. | Sí | No | No |
Adaptativo | Comprueba todos los umbrales. | Sí | Sí | Sí |
Modo de distribución round-robin
En el modo de distribución round-robin, el equilibrador de carga distribuye las tareas a los nodos disponibles en un modo round-robin. El equilibrador de carga comprueba el umbral de provisión de recursos de procesos máximos en el primer nodo disponible. Distribuye la tarea a este nodo siempre que con ello no se exceda este umbral. Si, al distribuir la tarea, se excede este umbral, el equilibrador de carga verifica el siguiente nodo. Sigue evaluando los nodos hasta que encuentra uno que pueda aceptar la tarea.
El equilibrador de carga distribuye tareas para ser ejecutadas en el orden en que las envía el administrador de flujo de trabajo o el programador. El equilibrador de carga no omite ninguna tarea de la cola de distribución. Por lo tanto, si una tarea que requiere muchos recursos está primera en la cola de distribución, todas las demás tareas con el mismo nivel de servicio deben esperar en la cola hasta que el equilibrador de carga distribuya esta tarea.
Modo de distribución basado en mediciones
En el modo de distribución basado en mediciones, el equilibrador de carga verifica los nodos en modo Round-Robin hasta que encuentra un nodo que puede aceptar la tarea. El equilibrador de carga comprueba los umbrales de provisión de recursos en el primer nodo disponible. Distribuye la tarea a este nodo siempre que no exceda ninguno de los umbrales. Si la distribución de la tarea excede algún umbral, o si el nodo no tiene más espacio de intercambio libre, el equilibrador de carga verifica el siguiente nodo. Sigue evaluando los nodos hasta que encuentra un nodo que pueda aceptar la tarea.
Para determinar si se puede ejecutar una tarea en un determinado nodo, el equilibrador de carga recopila y almacena estadísticas de las últimas tres ejecuciones de la tarea. Compara estas estadísticas con los umbrales de provisión de recursos definidos para el nodo. Si no existen estadísticas en el repositorio, el equilibrador de carga utiliza los siguientes valores predeterminados:
- •40 MB de memoria
- •15% de CPU
El equilibrador de carga distribuye tareas para ser ejecutadas en el orden en que las envía el administrador de flujo de trabajo o el programador. El equilibrador de carga no deriva ninguna tarea a la cola de distribución. Por lo tanto, si una tarea intensiva de recursos está primera en la cola de distribución, todas las demás tareas con el mismo nivel de servicio deben esperar en la cola hasta que el equilibrador de carga distribuya la tarea intensiva de recursos.
Modo de distribución adaptable
En el modo de distribución adaptable, el equilibrador de carga evalúa los recursos informáticos en todos los nodos disponibles. Identifica el nodo con la CPU más disponible y comprueba los umbrales de aprovisionamiento de recursos del nodo. Distribuye la tarea si al hacerlo no se supera ningún umbral. El equilibrador de carga no distribuye tareas a nodos que se hayan quedado sin espacio de intercambio.
En el modo de distribución adaptable, el equilibrador de carga puede usar el perfil de CPU para clasificar los nodos en función de la cantidad de recursos informáticos que tengan.
Para identificar cuál es el mejor nodo para ejecutar una tarea, el equilibrador de carga también recopila y almacena estadísticas de las tres últimas ejecuciones de la tarea y las compara con las métricas de carga de los nodos. Si no hay estadísticas en el repositorio, el equilibrador de carga usa los siguientes valores predeterminados:
- •40 MB de memoria
- •15% de CPU
En el modo de distribución adaptable, el orden en el que el equilibrador de carga distribuye las tareas de la cola de distribución depende de los requisitos de las tareas y de la prioridad de distribución. Por ejemplo, si hay varias tareas con el mismo nivel de servicio en espera en la cola de distribución y no hay recursos informáticos suficientes disponibles para ejecutar una tarea con uso intensivo de recursos, el equilibrador de carga reserva un nodo para esa tarea y continúa distribuyendo las tareas que requieren menos recursos en los otros nodos.
Niveles de servicio
Los niveles de servicio establecen prioridades entre las tareas que están a la espera de ser distribuidas.
Cuando el número de tareas que el equilibrador de carga tiene para distribuir es superior al que el servicio de integración de PowerCenter puede ejecutar, el equilibrador ubica las tareas en la cola de distribución. Cuando hay varias tareas esperando en la cola de distribución, el equilibrador de carga utiliza niveles de servicio para determinar el orden en el que distribuirá las tareas de la cola.
Los niveles de servicio son propiedades de dominio. Por lo tanto, pueden ser los mismos para todos los repositorios de un dominio. Los niveles de servicio se pueden crear y editar en las propiedades de dominio o mediante infacmd.
Cuando se crea un nivel de servicio, un desarrollador de flujo de trabajo puede asignarlo a un flujo de trabajo del administrador de flujos de trabajo. Todas las tareas de un flujo tienen el mismo nivel de servicio. El equilibrador de carga utiliza los niveles de servicio para distribuir las tareas de la cola de distribución. Por ejemplo, se podrían crear dos niveles de servicio:
- •El nivel de servicio "Bajo" tiene una prioridad de distribución de 10 y un tiempo de espera de distribución máximo de 7.200 segundos.
- •El nivel de servicio "Alto" tiene una prioridad de distribución de 2 y un tiempo de espera de distribución máximo de 1.800 segundos.
Cuando hay varias tareas esperando en la cola de distribución, el equilibrador de carga distribuye las tareas con un nivel de servicio Alto antes que aquellas con nivel de servicio Bajo; lo hace así porque las primeras tienen una prioridad de distribución más alta. Si una tarea con nivel de servicio Bajo espera en la cola de distribución durante dos horas, el equilibrador de carga cambia su prioridad de distribución a la máxima; lo hace así para que la tarea no permanezca en la cola indefinidamente.
Administrator Tool incorpora un nivel de servicio denominado Predeterminado. Este nivel de servicio tiene una prioridad de distribución de 5 y un tiempo de espera de distribución máximo de 1.800 segundos. Este nivel de servicio predeterminado se puede editar, pero no eliminar.
Cuando quite un nivel de servicio, el administrador de flujos de trabajo no actualiza las tareas que utilizan el nivel de servicio. Si un nivel de servicio de flujo de trabajo no existe en el dominio, el equilibrador de carga distribuye las tareas con el nivel de servicio predeterminado.
Cómo crear niveles de servicio
Cree niveles de servicio en Administrator Tool.
1. En Administrator Tool, seleccione un dominio en el navegador.
2. Haga clic en la ficha Propiedades.
3. En el área Administración de nivel de servicio, haga clic en Añadir.
4. Especifique los valores para las propiedades de nivel de servicio.
5. Haga clic en Aceptar.
6. Para eliminar un nivel de servicio, haga clic en el botón Eliminar correspondiente al nivel de servicio que desea eliminar.
Configuración de recursos
Cuando se configura el servicio de integración de PowerCenter para ejecutarse en una malla y comprobar los requisitos de recursos, el equilibrador de carga distribuye las tareas a los nodos en función de los recursos disponibles en cada nodo. El servicio de integración de PowerCenter se configura para comprobar los recursos disponibles en las propiedades del servicio de integración de PowerCenter, en Informatica Administrator.
Los recursos que requiere una tarea se asignan en las propiedades de tareas del administrador de flujos de trabajo de PowerCenter.
Los recursos disponibles para cada nodo se definen en Administrator Tool. Defina los tipos de recursos siguientes:
- •Conexión. Cualquier recurso que se instale con PowerCenter, como un complemento o un objeto de conexión. Cuando se crea un nodo, todos los recursos de conexión están disponibles de manera predeterminada. Deshabilite los recursos de conexión que no estén disponibles para el nodo.
- •Archivo/Directorio. Recurso definido por el usuario que define los archivos o directorios que están disponibles para el nodo, como archivos de parámetros o directorios del servidor de archivos.
- •Personalizado. Recurso definido por el usuario que identifica cualquier otro recurso disponible para el nodo. Por ejemplo, puede usar un recurso personalizado para identificar una versión específica del cliente de base de datos.
Para habilitar y deshabilitar los recursos disponibles en la ficha Recursos del nodo, use Administrator Tool o infacmd.
Cálculo del perfil de CPU
En el modo de distribución adaptable, el equilibrador de carga usa el perfil de CPU para clasificar el rendimiento de cálculo de cada arquitectura de bus y CPU de una malla. De este modo, se garantiza que los nodos con mayor capacidad de procesamiento tengan prioridad para la distribución. Este valor no se usa en los modos de distribución Round-Robin o basada en mediciones.
El perfil de CPU es un índice de la capacidad de procesamiento de un nodo con respecto a un sistema de línea base. El sistema de línea base es un equipo Pentium a 2,4 GHz que ejecuta Windows 2000. Por ejemplo, si un equipo SPARC a 480 MHz es 0,28 veces más rápido que el equipo de línea base, el perfil de CPU del equipo SPARC debería establecerse en 0,28.
De manera predeterminada, el perfil de CPU se establece en 1,0. Para calcular el perfil de CPU para un nodo, seleccione el nodo en el navegador y haga clic en Acciones > Volver a calcular referencia de perfil de CPU. Para obtener un valor más exacto, calcule el perfil de CPU cuando el nodo esté inactivo. El cálculo lleva aproximadamente cinco minutos y usa el 100% de una CPU del equipo.
También puede calcular el perfil de CPU mediante infacmd. Alternativamente, puede editar las propiedades del nodo y actualizar el valor de forma manual.
Definición de umbrales de aprovisionamiento de recursos
El equilibrador de carga distribuye las tareas a los procesos del servicio de integración de PowerCenter que se ejecutan en un nodo. Puede seguir distribuyendo tareas a un nodo siempre que no se superen los umbrales de aprovisionamiento de recursos definidos para el nodo. Si el equilibrador de carga tiene más tareas de sesión o comandos que distribuir de los que el servicio de integración de PowerCenter puede ejecutar a la vez, el equilibrador de carga incluye las tareas en la cola de distribución. De este modo, distribuye las tareas desde la cola cuando un proceso del servicio de integración de PowerCenter está disponible.
Puede definir los siguientes umbrales de aprovisionamiento de recursos para cada nodo de un dominio:
- •Longitud máxima de cola de ejecución de CPU. Número máximo de subprocesos ejecutables en espera para los recursos de CPU en el nodo. El equilibrador de carga no cuenta los subprocesos en espera en las E/S del disco o la red. Si establece este umbral en 2 en un nodo de 4 CPU con cuatro subprocesos en ejecución y dos subprocesos ejecutables en espera, el equilibrador de carga no distribuye las tareas nuevas a este nodo.
Este umbral limita la sobrecarga de cambio de contexto. Puede establecer este umbral en un número bajo para conservar los recursos de computación para otras aplicaciones. Si desea que el equilibrador de carga omita este umbral, debe establecerlo en un número superior, como 200. El valor predeterminado es 10.
El equilibrador de carga usa este umbral en los modos de distribución basado en la métrica y adaptable.
- •Porcentaje de memoria máximo. Porcentaje máximo de memoria virtual asignado en el nodo en relación con el tamaño total de la memoria física. Si establece este umbral en un 120% en un nodo y el uso de la memoria virtual en el nodo es superior al 120%, el equilibrador de carga no distribuye las tareas nuevas al nodo.
El valor predeterminado para este umbral es del 150%. Establezca este umbral en un valor superior al 100% para permitir la asignación de una cantidad de memoria virtual superior al tamaño de la memoria física durante la distribución de tareas. Si desea que el equilibrador de carga omita este umbral, debe establecerlo en un número superior, como 1.000.
El equilibrador de carga usa este umbral en los modos de distribución basados en métrica y adaptables.
- •Número máximo de procesos. Número máximo de procesos en ejecución permitidos para cada proceso del servicio de integración de PowerCenter ejecutado en el nodo. Este umbral especifica el número máximo de tareas de sesión o comandos en ejecución permitidas para cada proceso del servicio de integración de PowerCenter en ejecución en el nodo. Por ejemplo, si establece este umbral en 10 y hay dos servicios de integración de PowerCenter en ejecución en el nodo, el número máximo de tareas de sesión permitido para el nodo es 20 y el número máximo de tareas de comandos permitido para el nodo es 20. Por lo tanto, el número máximo de procesos que se pueden ejecutar simultáneamente es 40.
El valor predeterminado para este umbral es 10. Establezca este umbral en un número alto, como 200, para que el equilibrador de carga lo omita. Para evitar que el equilibrador de carga distribuya tareas en este nodo, establezca este umbral en 0.
El equilibrador de carga usa este umbral en todos los modos de distribución.
Puede definir los umbrales de aprovisionamiento de recursos en las propiedades del nodo.