CSA: Servidores de aplicaciones, clústeres, mensajería multidifusión y equilibradores de carga (solo local)

ccppmop158
Se debe configurar el servicio de mensajería de multidifusión, los equilibradores de carga y la persistencia de las sesiones (sesiones permanentes). CSA también permite escalar, compartir discos, distribuir archivos en servidores y gestionar varias instancias de aplicaciones o de servicios en segundo plano. Asimismo, permite configurar bases de datos de generación de informes especializadas y realizar el agrupamiento en clúster de bases de datos de Oracle y ajustar las JVM de Sun HotSpot.
2
Cómo escalar en
Clarity PPM
Escala
describe la actividad compleja de decidir qué servicios se ejecutan y en qué equipos que se deben ejecutar. Al escalar hacia arriba o hacia abajo, se desea equilibrar el rendimiento con fiabilidad. Incluso las instalaciones más pequeñas de
Clarity PPM
tienen más de un equipo implicado. Por ejemplo, una instalación normalmente tiene la configuración siguiente:
  • Un servidor para la base de datos y otro para todo lo demás.
  • Un equipo para
    Clarity PPM
    , que se conecta con un centro de datos propiedad de un grupo que gestiona la base de datos externamente.
Las instalaciones de
Clarity PPM
de tamaño mediano y grande, dependiendo de los requisitos de rendimiento y fiabilidad, normalmente tienen servicios redundantes que se ejecutan en varios equipos especializados.
Mensajería de multidifusión
Clarity PPM
utiliza la mensajería de multidifusión extensamente en un clúster. El servicio Beacon es un servicio de arranque que se ejecuta en todos los equipos gestionados en un clúster. El servicio Beacon se utiliza para gestionar y controlar los servicios de
Clarity PPM
en cada caja. El servicio Beacon se utiliza también para aplicar los parches y actualizaciones que se entregan desde el servidor de aplicaciones de
Clarity PPM
.
Los servicios Beacon emplean un mecanismo de descubrimiento dinámico mediante multidifusión. Cada servicio Beacon envía mensajes de detección cada 5 segundos a todos los dispositivos de escucha de servidor del clúster indicando que dicho elemento existe. La Administración del sistema de
Clarity PPM
escucha estos mensajes de detección del servicio Beacon y los utiliza para registrar los nodos activos del clúster. Al recibir un mensaje de detección de Beacon, la Administración del sistema de
Clarity PPM
verifica la contraseña de Beacon con respecto a la propia. Si la verificación se realiza correctamente, la Administración del sistema de
Clarity PPM
agrega el servidor a la lista de servidores.
La Administración del sistema de
Clarity PPM
también hace ping en cada servicio Beacon directamente cada diez (10) segundos para determinar si el servicio Beacon está activo. El ping es un mensaje TCP (unidifusión), así que se envía a través de la red un mensaje por cada servicio Beacon registrado. Aquí estriba la ventaja de la multidifusión: un mensaje de multidifusión se envía una vez a través de la red y lo reciben varias veces las partes interesadas. Dado que es UDP (en contraposición al TCP), es un mensaje de menor peso. El mensaje de unidifusión se debe enviar por la red una vez para cada parte interesada. Por consiguiente, la multidifusión es perfecta para las aplicaciones de control y detección dinámicas como el servicio Beacon.
El servicio Beacon no es el único servicio que utiliza la multidifusión. Además de los servicios Beacon, los servicios de gestión de memoria caché dentro de los servicios de fondo y de la aplicación retransmiten sus propios mensajes para mantener coherencia de la memoria caché. Estos mensajes no contienen datos reales. Solamente informan a los servidores remotos cuando los datos residentes están caducados y se deberá recargar desde la base de datos. A este proceso se le denomina "descargar la memoria caché". Cuando una memoria caché se descarga en un servidor determinado en un clúster, se envía un mensaje en la red. Todos los demás servicios app y bg reciben el mensaje que les informa que deben descargar sus propias memorias cachés de los datos.
Clarity PPM
utiliza un subproceso de control de sesiones para evitar que se agote prematuramente el tiempo de espera de las sesiones de los diferentes servidores. Este subproceso se retransmite cada 5 minutos con un mensaje más largo que contiene los ID de las sesiones activas. Cuando una sesión ya no está activa en un servidor, se descarga de todos los servidores. Cuando una sesión permanece activa, se marca como tal en todos los demás servidores para impedir que se desconecte al usuario.
Los servidores de un clúster de
Clarity PPM
deben poder enviar y recibir mensajes de multidifusión. En una subred normal, esta actividad se permite de forma predeterminada.
Se recomienda mantener todos los servidores en la misma subred. Si debe usar servidores en ubicaciones diferentes con subredes diferentes, cree un puente de multidifusión entre ellos.
Esta práctica puede parecerse al tráfico UDP adicional. Sin embargo, cuando se compara la cantidad de datos que viajan entre la base de datos, el servidor de informes, los servidores de aplicaciones y los clientes, la mensajería de clúster es insignificante. El tráfico extra es un pequeño porcentaje del tráfico de red global. A menudo, la gente escucha el término "difusión" y piensa que sus redes están sobrecargadas. De hecho lo están: todo el tráfico de red se difunde. Todos los mensajes TCP (unidifusión) en una subred tocan todos los nodos en la subred, exactamente igual que UDP (multidifusión). La diferencia es que los mensajes TCP son dos o tres veces mayores que los mensajes UDP. Debido a que para los mensajes de TCP está garantizada la llegada, necesitan varios protocolos de enlace por paquete. Este proceso implica que los mensajes TCP son más grandes. Además, estos mensajes de multidifusión de
Clarity PPM
son muy pequeños en comparación con la solicitud media de la base de datos. Con varios servidores de aplicaciones, fondo e informes en un sistema de alto rendimiento se generan literalmente cientos de estas solicitudes de base de datos por segundo. Los pequeños mensajes UDP que salen de cada servidor cada 5 segundos no son nada en comparación.
CA PPM ha introducido JGroups en la arquitectura para controlar la mensajería de multidifusión a nivel de aplicación. Anteriormente, se podía ejecutar el nivel de la aplicación sin multidifusión, pero ahora es mucho más complicado con el motor de proceso y en segundo plano. Es probable que estos dos servicios no se ejecuten según lo previsto. CA PPM 14.x y posteriores suelen requerir que la multidifusión esté activa en la capa del enrutador para que los servicios de clúster de CA PPM se comuniquen correctamente.
Equilibradores de carga y persistencia de sesión (sesiones especiales)
Clarity PPM
es compatible con los equilibradores de carga de hardware o software.
Clarity PPM
no tiene verdaderamente ningún estado y se ha diseñado para funcionar con una operación por turnos o con cualquier otro modelo de distribución. Sin embargo, resulta más eficaz en cuanto a memoria y rendimiento que la sesión de usuario permanezca en un servidor. Mediante la adición de más servidores de aplicaciones se gana rendimiento.
Es necesaria la persistencia de la sesión en un entorno con equilibrio de carga. La persistencia de la sesión es necesaria independientemente del algoritmo que se utiliza o del número de recursos que se encuentran en el servidor.
Por ejemplo, considere un algoritmo de equilibrador de carga que distribuya las solicitudes individuales para una sesión de usuario única a través de los cinco servidores de aplicación. En este caso, cada servidor carga y almacena en la caché los datos de la sesión de ese usuario. Se utiliza cinco veces más memoria que la que se utilizaría con la persistencia de sesión activada para que la sesión del usuario permanezca en una caja.
Se recomienda activar la opción Session Persistence (Sesión persistente) en el equilibrador de carga.
Configure el equilibrador de carga para utilizar sesiones persistentes ligeras. Una persistencia de sesiones temporal envía solicitudes desde la misma sesión de usuario al mismo servidor. Si ese servidor está sobrecargado u otro servidor está inactivo, se cambia la permanencia del servidor sobrecargado al servidor inactivo. Debido a que
Clarity PPM
carece de estado, es compatible con este proceso. Además, si un servidor sobrecargado pasa a estar inactivo, esas sesiones no se pierden. Considerando que el equilibrador de carga detecte correctamente el servidor que ha quedado inactivo y redirija las solicitudes a otro, dichas sesiones de usuario estarán completamente disponibles en el servidor nuevo.
Discos de repartición
En un clúster de
Clarity PPM
, varios servicios app y bg deben utilizar el mismo disco de índice de búsqueda. A menos que los archivos se almacenen en la base de datos, los servicios también deben utilizar el mismo disco para almacenamiento de documentos. En la Administración del sistema de
Clarity PPM
, cerciórese de que cada servidor con servicios de aplicación o fondo dirija la propiedad Buscar en directorio de índice al mismo disco compartido. A menos que se almacenen archivos en la base de datos, la propiedad Directorio de almacenamiento de archivos debe señalar también al mismo disco compartido.
La forma más eficaz de compartir discos es usando una solución de red de área de almacenamiento (SAN) o una solución de almacenamiento conectado a la red (NAS). El sistema para compartir archivos de Unix NFS o Windows también es aceptable.
Distribución de archivos a servidores en un clúster
Distribuya archivos actualizados a todos los servidores del clúster. Los archivos actualizados incluyen archivos en el servidor de aplicaciones que se actualizan a través de la personalización de los temas de la interfaz de usuario o instalando una revisión, un parche o una actualización.
También puede ver el estado de la distribución accediendo a los registros de NSA y eligiendo nsa-ca.log. Cuando haya finalizado, la ventana de estado se cierra y la página principal aparece. La página de distribución muestra la fecha y la versión de la última distribución.
Siga estos pasos:
  1. Inicie sesión en la Administración del sistema (CSA) de
    Clarity PPM
    .
  2. Abra Distribución y haga clic en Distribuir todo.
    Esta opción distribuye todos los archivos actualizados en el directorio principal de
    Clarity PPM
    .
  3. Seleccione uno o varios servidores y haga clic en Distribuir.
Varias instancias de servicio de aplicación o de fondo
Si se utilizan equipos potentes con grandes cantidades de memoria física disponible, se deben ejecutar varias instancias de los servicios app y bg en esos equipos. Desde la perspectiva de
Clarity PPM
, esto no es diferente del hecho de ejecutar servicios en dos equipos diferentes. Se puede utilizar toda la capacidad de un equipo, con los beneficios del aumento del rendimiento y la fiabilidad que proporciona el tener varios servicios.
CSA facilita el uso de varias instancias al proporcionar una acción de clonación. Esta acción crea una copia del servicio app o bg deseado con puertos incrementados y disponibles y nombres del servicio para evitar colisiones.
Después de clonar un servicio, se puede iniciar, detener y gestionar de cualquier otra forma la nueva instancia de servicio, al igual que se haría con la original.
Siga estos pasos:
  1. Inicie sesión en CSA.
  2. Abra la Página principal y haga clic en Todos los servicios.
  3. Seleccione la casilla de verificación para el tipo de servicio que desee clonar y haga clic en clonar.
  4. Si es necesario, vaya al servidor en el cual ha creado el servicio y modifique los valores de configuración clonados.
Configuración de un origen de datos externo dedicado
Se puede configurar
Clarity PPM
para utilizar una base de datos secundaria para ejecutar informes. Asegúrese de que la base de datos secundaria esté razonablemente sincronizada con la base de datos de producción de
Clarity PPM
. Cuando la base de datos de generación de informes está muy alejada de la base de datos de producción, pueden surgir problemas. Por ejemplo, los datos de los usuarios o de la instancia que se incluirán en el informe no existen en la base de datos de generación de informes.
Cuando se configura un informe como se muestra en el siguiente procedimiento, el informe se ejecuta únicamente con respecto a la base de datos de generación de informes. Esto significa que todas las tablas requeridas por los informes, incluidas las tablas de seguridad y de usuario, deberán estar sincronizadas. Si sincroniza un subconjunto de las tablas de la base de datos de producción, se deben seleccionar las tablas correctas para que sean compatibles con los informes.
Siga estos pasos:
  1. Inicie sesión en CSA y en la Página principal, haga clic en los servidores.
  2. Haga clic en el icono Propiedades del servidor que desee configurar.
  3. Haga clic en la ficha secundaria Base de datos.
  4. En la sección Conexión interna: Niku, haga clic en Nueva conexión externa.
  5. Complete las propiedades oportunas para la base de datos de informes:
    • ID
      Define el ID que se utiliza para identificar esta conexión posteriormente.
    • Nombre del servicio
      Se refiere a una entrada de TNS válida (Oracle) o a una entrada de ODBC (MS SQL Server) en el servidor de informes.
  6. Guarde los cambios realizados.
  7. Haga clic en la ficha secundaria Informes.
  8. Rellene el campo siguiente:
    • ID de la base de datos
      El ID de la base de datos de
      Clarity PPM
      que se utiliza para recuperar información de la base de datos al ejecutar informes. Este ID se corresponde con los ID de conexiones de la base de datos definidas en la página
      Servidor: Propiedades de la base de datos
      .
      Valores
      : Niku y sistema
      Valor predeterminado
      : Niku
      Obligatorio:
      No
  9. Guarde los cambios realizados.
  10. Repita los pasos anteriores para todos los servidores del clúster de
    Clarity PPM
    .
  11. Reinicie todos los servicios de la aplicación de
    Clarity PPM
    (app) y de fondo de
    Clarity PPM
    (bg) en el clúster.
  12. En cada servidor de informes del clúster:
    1. Cree una entrada de TNS (Oracle) o una entrada de ODBC (SQL Server) con las propiedades de la conexión apropiadas que haga referencia al servidor de base de datos de informes especializado.
    2. Asegúrese de que el nombre que se selecciona coincida con el nombre del servicio para la conexión externa en la Administración del sistema de
      Clarity PPM
      .
  13. Instale los informes.
En la versión 14.4 y posterior, se pueden utilizar estos pasos para instalar los informes, el universo de
Clarity PPM
y otro contenido de generación de informes en el servidor de informes de BusinessObjects Enterprise. En las versiones más recientes y en 15.1, se pueden utilizar estos pasos para configurar una base de datos transaccional paralela para ejecutar informes en lugar de, o además de, utilizar el esquema del almacén de datos. Los pasos se aplican para agregar cualquier origen de datos adicional para las ediciones On-Premise de CA PPM. Por ejemplo, agregue un esquema de la transacción replicada, un almacén de datos externo o cualquier esquema de la aplicación de terceros que se encuentre en una base de datos de Oracle o MS SQL.
Agrupación en clústeres de la base de datos de Oracle
Clarity PPM
es compatible con el uso de un clúster de Oracle para proporcionar funciones de mayor escalabilidad, redundancia y conmutación por error que las que se ofrecen con un único servidor de Oracle.
Siga estos pasos:
  1. De ser necesario, exporte la base de datos de Oracle existente de un solo servidor desde la instancia de nodo única e impórtela en el clúster.
  2. Inicie sesión en CSA.
  3. Abra la Página principal y haga clic en Servidores.
  4. Haga clic en el icono Propiedades del servidor cuyas propiedades desea editar.
  5. Seleccione la ficha secundaria Base de datos.
  6. Edite las propiedades siguientes para conectar la base de datos:
    • Especificar URL
      Seleccionado.
    • JDBC URL
      URL de JDBC completa del clúster de Oracle. Esta URL es un prefijo jdbc seguido de la especificación de TNS completa.
      La URL de JDBC debe contener el parámetro ServiceName que hace referencia a una entrada de TNS en el host de Oracle especificado con la configuración de RAC deseada.
      Por ejemplo:
      jdbc:clarity:oracle://server:1521;ServiceName=serviceTNS;BatchPerformanceWorkaround=true;InsensitiveResultSetBufferSize=0;ServerType=dedicated;supportLinks=true
      Ejemplos alternativos:
      Una alternativa es incrustar los servidores RAC en la propia URL con la siguiente sintaxis de DataDirect:
      jdbc:clarity:oracle://server1:1521;ServiceName=serviceTNS;BatchPerformanceWorkaround=true;InsensitiveResultSetBufferSize=0;ServerType=dedicated;supportLinks=true;AlternateServers=(server2:1521;server3:1521);LoadBalancing=true
      Servidores RAC de Oracle con la escucha SCAN:
      jdbc:clarity:oracle://oracscan:1521;ServiceName=serviceTNS;BatchPerformanceWorkaround=true;InsensitiveResultSetBufferSize=0;ServerType=dedicated;supportLinks=true;AlternateServers=(oracscan:1521);FailoverMode=Select;ConnectionRetryCount=20;ConnectionRetryDelay=15;LoadBalancing=true"
      Oracle DataGuard:
      jdbc:clarity:oracle://PRIMARY_SERVER:1521;ServiceName=CLARITY_RW;AlternateServers=(PHYSICAL_STANDBY_SERVER:1521);ConnectionRetryCount=20;ConnectionRetryDelay=15;;BatchPerformanceWorkaround=true;InsensitiveResultSetBufferSize=0;ServerType=dedicated;supportLinks=true
      Para obtener más información, consulte estos recursos:
      Documentación de Oracle para el programa de instalación RAC y DataGuard, SCAN y el programa de instalación de servicios.
      Sitio web de DataDirect: Búsqueda de información sobre el uso de DataDirect Connect para JDBC con Oracle Real Application Clusters (RAC).
  7. Guarde los cambios realizados.
  8. Para validar los valores de configuración de la base de datos, ejecute un informe de estado del sistema para cada servidor. Consulte Ejecución de un informe de estado.
  9. Para el servidor de aplicaciones de Apache Tomcat, reinicie todos los servicios en la Administración del sistema de
    Clarity PPM
    .
Configuración de las máquinas virtuales Java Sun HotSpot
Esta información solo se aplica a entornos con máquinas virtuales Java Sun HotSpot.
La configuración adecuada de las máquinas virtuales Java Sun HotSpot es una tarea importante al realizar la configuración y el mantenimiento de
Clarity PPM
. Aunque una configuración apropiada es importante para el servicio de fondo, es más importante para algunos servicios de la aplicación que se ejecutan en el clúster. Este artículo se centra en la aplicación.
Consulte la documentación de estos valores de configuración en el sitio web de Oracle. También puede consultar CA Services para obtener ayuda sobre cuál es el tamaño de la memoria dinámica de JVM adecuado en función del tamaño de la implementación.
Hay muchas opciones disponibles para ajustar una máquina virtual Java HotSpot.
Práctica recomendable:
Como mínimo, utilice los siguientes valores:
  • Pila máxima
    -Xmx<tamaño>m
    La configuración de pila máxima determina la mayor cantidad de memoria que el sistema operativo local asigna a la máquina virtual de Java. El sistema operativo local no adjudica esta cantidad de memoria inmediatamente en el inicio, pero puede hacerlo a medida que se ejecuta el proceso. Como práctica recomendable, establezca este valor en al menos 2048 m (2 GB), incluso para pequeñas instalaciones. Para mejorar el rendimiento y disminuir el número de errores por falta de memoria, establezca este valor en 4 GB u 8 GB para los conjuntos de datos más grandes. Por ejemplo, -Xms1024m -Xmx4096m.
  • Pila mínima
    -Xms<tamaño>m
    La configuración de pila mínima es importante para evitar que la máquina virtual malgaste esfuerzo a la hora de expandir la pila a medida que la aplicación aumente su intensidad. Especifique la cantidad de pila mínima lo más cerca de realidad que sea posible. Si, por lo general, la aplicación usa 1,2 GB de RAM, establezca la configuración de memoria dinámica mínima en 1200 m. Se pueden establecer que los tamaños mínimos y máximos de pila sean iguales. Esto da lugar a una tarea más sencilla para el programa encargado de recuperar memoria interna sin usar en la máquina virtual. Estos valores de configuración también hacen que el proceso de la máquina virtual Java adjudique la máxima cantidad de pila desde el sistema operativo en el inicio, lo que es más coherente. Este proceso requiere que se midan los requisitos de adjudicación de memoria verdaderos en el servidor.
  • Programa paralelo encargado de recuperar memoria interna sin usar
    -XX:+UseParallelGC
    El Programa paralelo encargado de recuperar memoria interna sin usar se recomienda para algunos servidores que tienen dos o más CPU. Este programa es seguro para configurarlo en todos los servidores. Los servidores que tengan una CPU pueden ignorar esta configuración.
  • New Ratio
    -XX:NewRatio=<size>
    La máquina virtual HotSpot separa los objetos en espacios nuevos y antiguos, según las edades de los objetos de la memoria. Los objetos que tienen una duración corta tienden a quedarse en el espacio nuevo (o Eden) y se recopilan antes de ir a cualquier otro sitio. Los objetos de mayor duración se migran al espacio antiguo (o Tenured). La configuración New Ratio no define realmente el tamaño explícito del nuevo espacio, sino una proporción entre el espacio antiguo y el nuevo. Una configuración de -XX:NewRatio=3 se traduce en una proporción de 1 a 3, donde el nuevo espacio generado es 1/3 el tamaño del antiguo. Las aplicaciones que crean y destruyen muchos objetos temporales de corta duración con rapidez, al igual que en una aplicación del servidor como
    Clarity PPM
    , requieren un nuevo espacio de mayor tamaño que el promedio. De lo contrario, el espacio nuevo se desbordará mientras que el antiguo estará por debajo de su capacidad. El valor predeterminado para New Ratio varía según la plataforma. Para evitar problemas en
    Clarity PPM
    , con independencia de la plataforma, defina el valor de New Ratio entre 1 y 2, lo que significa
    XX:NewRatio=2
    .
  • Tamaño permanente máximo
    -XX:MaxPermSize=<size>m
    Además de los espacios nuevos y antiguos, hay un tercer espacio llamado "espacio permanente". Residen en este espacio los objetos permanentes, principalmente las definiciones de la clase Java. Este espacio no aumenta con el uso de la aplicación, sino con el tamaño de la aplicación. Cuantas más clases haya cargadas en la aplicación, mayor será el tamaño permanente. Se ha comprobado que la configuración predeterminada de 64 m es demasiado pequeña. En Apache Tomcat, el valor predeterminado de
    Clarity PPM
    para este espacio es 256 m.