Etapas para escalar el equilibrio de carga en Rational DOORS Web Access

Configure cualquier entorno y escale la instalación para manejar cargas más grandes

Después de que haya instalado el software de gestión de requisitos IBM® Rational® DOORS® Web Access, este artículo lo guiará a través de la configuración de múltiples capas de la aplicación. Después explicará cómo escalar los componentes para equilibrar cargas más grandes a medida que su negocio necesite incrementos.

Lee J. Byrnes, Load, Performance, and Security Tester, IBM

author photoLee es un probador de cargas con más de 10 años de experiencia, abarcando HP Loadrunner y Rational Performance Tester. Frecuentemente es la primera persona en investigar el escalamiento de instalaciones de producto para manejar cargas más grandes.



26-03-2012

Los dos temas clave de este artículo

La primera parte de este artículo define los archivos y parámetros que pueden ser alterados para optimizar el rendimiento del producto DOORS Web Access y permitir que los componentes sean distribuidos a través de varios servidores. Las pruebas de carga regular que son realizadas en esta aplicación han llevado a sugerencias sobre el uso, y estas están incluidas también.

La segunda parte proporciona una guía de configuración para agrupar en clúster la capa del servidor de Rational DOORS Web Access de la aplicación. Esto es necesario para escalar el producto, de forma que pueda satisfacer las necesidades de los clientes empresariales.

La sección de agrupación en clúster describe las etapas requeridas para configurar un equilibrador de carga en frente de servidores de Rational DOORS Web Access, hablando con un solo intermediario de Rational DOORS Web Access, con cada elemento en un servidor separado.

Todos estos componentes pueden coexistir en un servidor grande apropiado, pero eso no sería una explicación clara del proceso. Normalmente sugerimos distribuir los componentes a través de un grupo de servidores para prevenir la sobre-utilización de cualquier recurso particular.

Nota:
Esta configuración es un equilibrador de carga por turnos controlado por porcentajes y no hace un intento por balancear las cargas inteligentemente por capacidad de servidor o disponibilidad.


Configuración post-instalación

Una nota sobre la versión

Se debe tomar en cuenta que todos los ejemplos de ruta de archivos en este artículo usan la ruta de instalación para Rational DOORS Web Access Versión 1.4.0.1; si está instalando una versión posterior esto obviamente será distinto.

Arquitectura básica de Rational DOORS Web Access

El diagrama en la Figura 1 muestra el diseño conceptual de la arquitectura de Rational DOORS Web Access. La imagen incluye el Redirector Service, el cual no está cubierto en este artículo.

Figura 1. Diseño de la arquitectura de Rational DOORS Web Access
Diseño de la arquitectura de Rational DOORS Web Access

Configuración del servidor de Rational DOORS Web Access

El servidor de Rational DOORS Web Access está construido en el servidor web Apache Tomcat, que es una Máquina Virtual de Java (JVM). Esto significa que la asignación de memoria para el Servidor de Rational DOORS Web Access puede ser crítica. Para prevenir que la instalación inicial use una proporción significativa de RAM en un servidor host, el valor predeterminado para una JVM es de 512 megabytes. Esto puede cambiarse en este archivo:
C:\Program Files \IBM\Rational\Doors Web Access\1.4.0.1\server.start.bat

En la línea 36 de este archivo, encontrará esta entrada:

set JAVA_OPTS=%JAVA_OPTS% -Xmx512M -XX:+HeapDumpOnOutOfMemoryError

El valor después de -Xmx define el límite de RAM permitido para la JVM. Si está instalando en un servidor con RAM suficiente, sugerimos elevar esto a 1.536 megabytes (1,5 gigabytes). Esto soportará 70 usuarios sin ninguna degradación en el rendimiento y puede soportar 100 usuarios con sólo una ligera degradación en el rendimiento. Los usuarios en las pruebas de carga deben ser considerados usuarios de poder, ya que están realizando una transacción por minuto, lo que significa que están manteniendo aproximadamente cinco transacciones por segundo en el estado constante de cualquier prueba de carga.

Si desea supervisar el comportamiento del servidor de DOORS Web Access con una herramienta como Jconsole, hay una línea de código que necesita dejar de ser comentada en el archivo server.start.bat . En la línea 26, elimine el prefijo remde forma que las herramientas de supervisión apropiadas puedan conectarse con el servidor que esté instalado en el puerto 9004.

Importante:
Este ha sido configurado como un puerto no seguro, así que no debe dejarse disponible si no está en uso.

La conexión del servidor de DOORS Web Access al intermediario de DOORS Web Access, el ID del servidor de DOORS y el servidor de licenciamiento son manejados en el mismo archivo:
C:\Program Files \IBM\Rational\Doors Web Access\1.4.0.1\server\festival \config\FESTIVAL.XML

Por lo tanto, tratará con estos al mismo tiempo.

Hay varias entradas para el host local en el archivo festival.xml (127.0.0.1), ya que la configuración de instalación inicial está basada en el supuesto de que el intermediario de Rational DOORS Web Access está en el mismo servidor físico que el servidor de Rational DOORS Web Access. Si esto no es así en su instalación, los valores del host local necesitan ser cambiados a la dirección IP del servidor físico donde está alojado el intermediario de Rational DOORS Web Access.

La línea 26 del archivo festival.xml contiene un valor urn definido como:
urn:telelogic:ers-

Esto necesita ser cambiado del predeterminado al urn de repositorio de Rational DOORS de su instalación del servidor de Rational DOORS.

  1. Para obtener este valor, conecte un cliente pesado en el servidor de Rational DOORS y seleccione Tools > Edit DXL.
  2. Ejecute la siguiente pieza de código en la ventana de diálogo emergente que aparece:
    print getDatabaseIdentifier
  3. La parte inferior de la ventana de diálogo ahora contiene el valor urn a usar para sustituir el valor en el archivo festival.xml.
  4. También, cambie la entrada del servidor de licencia en la línea 31 del archivo festival.xml al puerto y servidor de su servidor de licencia (por ejemplo, 19353@myLicenseServer).

Configuración del intermediario de Rational DOORS Web Access

El intermediario de Rational DOORS Web Access está basado en el intermediario de mensaje de Apache AMQ. No hay ajustes necesarios para el intermediario de DOORS Web Access, ya que es un intermediario de mensaje pasivo. La asignación de memoria de la JVM predeterminada de 128 megabytes siempre ha resultado ser suficiente.

Si, por razones de seguridad, requiere que puertos sean cerrados cuando no sean seguros, tenga en mente que el puerto de supervisión en el intermediario de Rational DOORS Web Access está abierto de forma predeterminada. Para cerrar el puerto, abra este archivo:
C:\Program Files \IBM\Rational\Doors Web Access\1.4.0.1\broker.start.bat

Encuentre las Líneas 29 y 30 y ponga una sentencia rem al comienzo de cada una de esas líneas mientras el intermediario no esté en ejecución.

Configuración del servidor de Interop

Los servidores de Interop son la capa entre el intermediario de Rational DOORS Web Access y el servidor de Rational DOORS. Sugerimos que tenga un servidor de Interop por cada 25 usuarios que espere que usen el sistema, con no más de un servidor de Interop por núcleo de CPU disponible. Es una buena práctica tener cuatro servidores de Interop inicializados aún con bajos volúmenes de usuarios. Esto significa que un servidor físico lo suficientemente grande puede tener múltiples instancias de Interop en él; en nuestras pruebas, tenemos ocho instancias en un servidor.

Al instalar un cliente pesado normal, tendrá todo el código necesario en su lugar y se conectará a la instalación del servidor de Rational DOORS.

Los servidores de Interop puede ser iniciados con un atajo de escritorio; el siguiente es un código de ejemplo para los dos campos que necesitan ser completados en cualquier atajo:

Target:

"C:\Program Files\IBM\Rational\DOORS\9.3\bin\doors.exe" -interop -brokerHost"
Doors Web Access Broker Server" -maxMemory 640

Start in:

"C:\Program Files\IBM\Rational\DOORS\9.3\bin"

Los ajustes para asegurar que doors.exe lance una instancia de servidor de Interop y se conecte exitosamente con el resto de la arquitectura de Rational DOORS Web Access son manejados en la línea Target de las propiedades del atajo.

  • El comando -interop le dice a doors.exe que requiere iniciar en el modo de servidor de Interop.
  • El comando -brokerhost designa la ubicación del intermediario de Rational DOORS Web Access de forma que el servidor de Interop pueda recibir solicitudes.
  • La sentencia -maxMemory previene que el servidor de Interop consuma memoria. Sin añadir –maxMemory, el servidor de Interop tiene el potencial de consumir toda la memoria RAM disponible en su servidor host. En el ejemplo anterior, el servidor de Interop está configurado para realizar un reinicio sin pérdida cuando alcanza un tamaño de memoria en caché de 640 megabytes.

Cómo agrupar en clúster el servidor de Rational DOORS Web Access

Importante:

  • El componente de software externo que necesita ser añadido al entorno es una instancia del servidor web de Apache
  • Las pruebas para este artículo fueron realizadas en la Versión 2.2.11 del servidor web de Apache. La versión más reciente de Apache Software Foundation disponible cuando este artículo fue escrito (agosto de 2011) fue la Versión 2.2.17, y no hemos hecho pruebas para determinar si la versión más reciente invalida cualquier cosa de este artículo.
  • Hemos comprobado la agrupación en clúster de la capa del Servidor de Rational DOORS Web Access usando el enfoque de Apache únicamente. Hay muchas otras formas que puede elegir para manejar su equilibrio de carga, pero no podemos ofrecer soporte o consejo para ninguna de ellas.

Una instalación en clúster típica se verá como la ilustración en la Figura 2.

Figura 2. Entorno en clúster conceptual
Entorno en clúster conceptual

Cambios del servidor de Rational DOORS Web Access

Para cada instancia del servidor de DOORS Web Access que tiene instalada, necesita hacer ajustes para los archivos FESTIVAL.XML y SERVER.XML. FESTIVAL.XML es el archivo donde la licencia y los ajustes del servidor de DOORS son realizados después de la instalación. Si la ruta de instalación predeterminada fue aceptada durante la instalación, puede encontrar ese archivo aquí:
C:\Program Files \IBM\Rational\Doors Web Access\1.4.0.1\server\festival \config\FESTIVAL.XML

Las líneas 17, 19 y 21 de este archivo contienen una dirección IP del host local que le permite al servidor de Rational DOORS Web Access encontrar el intermediario de DOORS Web Access. Estas necesitan ser cambiadas por la dirección IP del servidor que está alojando al intermediario.

Cuando los servidores de Web Access pueden encontrar la ubicación del intermediario, necesita configurarlas para aceptar solicitudes del servidor web de Apache. Si se aceptó la ruta de instalación predeterminada durante la instalación, encontrará el archivo SERVER.XML aquí:
C:\Program Files \IBM\Rational\Doors Web Access\1.4.0.1\server\conf\SERVER.XML

La línea 144 de este archivo contiene una entrada de nombre de Engine:
<Engine name="Catalina" defaultHost="localhost">

Esto necesita ser cambiado para cada instalación del servidor de Rational DOORS Web Access separada para (las dos referencias siguientes se atan en las líneas de BalanceMember en el ejemplo en la siguiente sección):

  • Para Doors Web Access Server One (donde ese es el nombre de su servidor), se vuelve:
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="DWAbalance1">
  • Para Doors Web Access Server Two, se vuelve:
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="DWAbalance2">

Cuando la designación de jvmRoute sea exclusiva para cada una de las instancias del servidor de Rational DOORS Web Access, esto corresponderá a una asignación de enrutamiento en el servidor web de Apache para permitir que la sección adherible funcione correctamente.

Estos nombres de ruta exclusivos son asignados en Apache (vea la siguiente sección), y el IP de la dirección y el nombre de ruta deben ser iguales.

Consejo:
Le sugerimos que haga este cambio en un editor que muestre los formatos HTML y XML, ya que hay otras líneas en el código cercano que son semejantes a esto pero que son, en realidad, comentarios.

Configuración del servidor de Apache

En una instalación simple de Apache 2.2.11, sólo hay un archivo que necesita ser editado para habilitar la funcionalidad del equilibrador de carga.

La ubicación de instalación para Apache 2.2, la carpeta conf , contiene un archivo llamado HTTPD.CONF, que debe estar aquí:
C:\java\Apache2.2\conf\httpd.conf

En el archivo HTTPD.CONF, necesita eliminar las marcas de hash de las siguientes líneas para que Apache cargue los módulos requeridos en el inicio:

  • LoadModule proxy_module modules/mod_proxy.so
  • LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
  • LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
  • LoadModule proxy_http_module modules/mod_proxy_http.so
  • LoadModule status_module modules/mod_status.so

Después de hacer eso, añadimos el siguiente código al final del archivo para alinear la configuración de enrutamiento en los servidores de DOORS Web Access anteriores. Para hacer este ejemplo más claro, hemos dejado las direcciones IP de los servidores donde la prueba fue realizada.

El servidor uno tiene una dirección IP de Doors Web Access Server One, y hemos establecido la jvmRoute para que sea Doors Web Access balance1 (como se muestra en la sección anterior).

El servidor dos tiene una dirección IP de Doors Web Access Server Two, y establecimos la jvmRoute para que sea Rational DOORS Web Access balance2 (como se muestra en la sección anterior).

El factor de carga es la sentencia de porcentaje para el manejo de solicitud. Así que en este ejemplo, cada servidor recibe el 50% de las solicitudes (el tamaño de la solicitud no es una consideración, así que esto tal vez no sea igual al 50% de la carga):

ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid 
nofailover=On 
ProxyPassReverse / http://DOORS Web Access Server One:8080/ 
ProxyPassReverse / http://DOORS Web Access Server Two:8080/ 
<Proxy balancer://mycluster> 

BalancerMember http://DOORS Web Access Server One:8080 route=DWAbalance1 loadfactor=50
BalancerMember http://DOORS Web Access Server Two:8080 route=DWAbalance2 loadfactor=50

</Proxy>

Supervisando los cambios

Para observar el comportamiento de su configuración, ponga el siguiente segmento de código bajo la sentencia ServerRoot :

<Location /balancer-manager> SetHandler balancer-manager </Location>

Ahora, en su navegador, en el servidor donde instaló el servidor web de Apache, lance http://localhost/balancer-manger. Esta página web le permitirá supervisar el equilibrio de carga en tiempo real.


Inicio

Después de que haya hecho todos estos cambios, inicie el intermediario de Rational DOORS Web Access seguido de los servidores de Rational DOORS Web Access, y después inicie el servidor web de Apache. Durante el inicio en cualquier configuración, hay una dependencia que requiere que el intermediario de DOORS Web Access sea iniciado antes que los servidores de DOORS Web Access.

Desde el cliente del navegador, direccione Rational DOORS Web Access hacia esta ubicación:
http://ApacheServerLocation/Doors Web Access

Migración tras error

Hay cuatro capas en la arquitectura de Rational DOORS Web Access. En esta sección, observamos las consecuencias de cualquiera de ellas siendo reiniciadas.

Doorsd
Un reinicio del servidor de Rational DOORS debe ser considerado como un reinicio de sistema completo y requerirá que los servidores de Interop sean reiniciados.
 
Servidor de Interop
Los servidores de Interop realmente se reinician como parte de su proceso de gestión de memoria, así que pueden ser detenidos e iniciados a voluntad. Si esto es realizado por la aplicación, no tiene pérdida. Un reinicio forzado puede causar la pérdida de una solicitud individual.
 
Intermediario de Rational DOORS Web Access
El intermediario de DOORS Web Access es un elemento pasivo de la arquitectura y no tiene estado. Sin embargo, hay un problema para conectarse al servidor de DOORS Web Access. Actualmente, si el intermediario de Web Access es reiniciado, el servidor no podrá restablecer la conexión y tendrá que ser reiniciado. Hay una solicitud de mejora pendiente para corregir esto.
 
Servidor de Rational DOORS Web Access
El servidor puede ser detenido e iniciado sin pérdida de conectividad para ningún componente, aunque cualquier solicitud que un componente esté atendiendo se perderá al momento del reinicio.

Resumen

Este artículo incluye todas las etapas necesarias para instalar y escalar Rational DOORS Web Access para que cumpla con los requisitos esperados de la instalación, sin importar el tamaño. También da al administrador un entendimiento claro de las consecuencias si cualquiera de estos componentes de la arquitectura necesitan ser reiniciados.

Recursos

Aprender

Obtener los productos y tecnologías

  • Obtenga la descarga de prueba gratuita para Rational DOORS Web Access.
  • Evalúe el software de IBM de la forma que más se adapte a usted: descárguelo para probarlo, pruébelo en línea utilícelo en un entorno de nube, o pase un par de horas en el SOA Sandbox aprendiendo cómo implementar eficientemente la arquitectura orientada al servicio.

Comentar

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Rational
ArticleID=806620
ArticleTitle=Etapas para escalar el equilibrio de carga en Rational DOORS Web Access
publish-date=03262012