Servidor de aplicaciones compartidas

En esta sección:

Los Servidores de aplicaciones compartidas (SAS) son configuraciones dedicadas de Maintain del servidor WebFOCUS. SAS se ejecuta en modo agrupado y está diseñado para la ejecución de aplicaciones de alto rendimiento, altamente escalables. Bajo la implementación agrupada, todos los usuarios ejecutan bajo el mismo id. de usuario, y comparten el mismo entorno de servidor de WebFOCUS. SAS le permite ampliar la disponibilidad de una aplicación, manteniendo su eficiencia y proporcionando un rendimiento óptimo con grandes o pequeños grupos de usuarios. Por ejemplo, puede desarrollar una aplicación para un departamento, y a continuación ampliarla al resto de la organización.

La ejecución de una aplicación en un SAS le permite aumentar el número de usuarios, sin pérdidas de rendimiento efectivo con respecto:

Se aplican las siguientes limitaciones:

Para ejecutar una aplicación en un servidor de aplicaciones compartidas, primero debe desarrollarla de acorde a los principios expuestos en Cómo desarrollar aplicaciones escalables y de alto rendimiento, en el manual Cómo desarrollar aplicaciones WebFOCUS Maintain


Principio de página

x
Cómo incluir un servidor de aplicaciones compartidas en su entorno WebFOCUS

Durante el desarrollo, prueba e implementación inicial de su aplicación, es aconsejable utilizar un servidor WebFOCUS normal (ejecutándose en modo privado). Cuando la aplicación esté lista para producción, puede añadir un SAS (en modo agrupado) para mejorar el rendimiento. Para incluir un SAS en su entorno, debe tener una licencia Maintain SAS especial. Esta licencia le permite instalar un servidor SAS específico, o añadir un servicio SAS a un servidor existente.

Para incluir servicios SAS, o que no sean SAS, en su entorno, existen tres opciones:

Nota: Use los comandos APP PATH para apuntar a los archivos de aplicaciones de cada pareja de desarrollo/SAS.


Principio de página

x
Añadir o editar un servicio

Los parámetros que definen los servicios, o añaden servicios adicionales, se establecen utilizando la Consola Web del servidor, para editar el archivo edaserve.cfg. Para ello, entre a la Consola Web desde un navegador. Desde el menú Área de trabajo, seleccione Configuración/Monitorizar. En el panel navegación, amplíe la carpeta Servicios de datos.

Nota: El servicio WC_DEFAULT es para la Consola Web, y DFM_DEFAULT, para el procesamiento diferido.


Principio de página

x
Parámetros SAS

Estos parámetros son obligatorios para en configuraciones SAS, independientemente de cómo añada SAS a su entorno:

Parámetro

Valor

Deployment
pooled

En un entorno agrupado, todos comparten la misma configuración de entorno WebFOCUS y se conectan por medio del mismo id. de usuario (consulte pooled_user, más abajo).

Nota: La opción de implementación pooled_connection no es lo mismo que agrupado, y no es aplicable a SAS. Si aparece la opción pooled_connection, pero no la opción agrupada, consulte las instrucciones para añadir un servicio SAS a un servidor WebFOCUS (no SAS), en Cómo incluir un servidor de aplicaciones compartidas en su entorno WebFOCUS.

number_ready
x

donde:

x

Es el número de agentes tscom disponible con la aplicación cargada previamente, al iniciar SAS.

max_sessions_per_agent
n

donde:

n

Es superior a 1 y especifica el número de sesiones que puede compartir cada agente.

pooled_ user
userID

donde:

userID

Es el id. de usuario bajo el que se ejecutan los agentes agrupados. Todas las coneciones (usuarios) comparten el mismo id. de usuario.

pooled_ password
pswrd

donde:

pswrd

Es la contraseña de pooled_user en un sistema operativo Windows.

La mejor configuración depende del impacto de la aplicación compilada, del número de usuario y de los recursos disponibles en el entorno. La información necesaria para determinar la mejor configuración aparece en Cómo optimizar el número de sesiones por agente.


Principio de página

x
Cómo implementar en un servidor de aplicaciones compartidas

Los servicios SAS agrupados están dedicados a la ejecución de aplicaciones Maintain, y no aceptan la implementación de archivos de aplicaciones de Developer Studio. Por tanto, debe tener un servidor SAS y otro que no sea SAS disponibles, como se explica en Cómo incluir un servidor de aplicaciones compartidas en su entorno WebFOCUS.


Principio de página

x
Cómo preparar un servidor de aplicaciones compartidas

Todos los procedimientos que se ejecutan en SAS deben compilarse de antemano, durante la implementación o por medio de la sintaxis MNTCON COMPILE procname.

Antes de poder ejecutar una aplicación en una instancia SAS utilizando el comando MNTCON RUNIMAGE procname, debe añadir los siguientes comandos al final del perfil global de la instancia del servidor, o al perfil de servicio especificado para un servicio SAS:

MNTCON PREPARESERVER
-INCLUDE loadproc 
MNTCON STARTSERVER

donde:

loadproc

Es el nombre de un procedimiento externo que contiene comandos MNTCON LOADIMAGE, para los procedimientos compilados que conforman la aplicación que va a ejecutar. El nombre debe estar en mayúsculas. El procedimiento externo debe residir en el APP PATH de la instancia del servidor.

La sintaxis de los comandos MNTCON LOADIMAGE de una aplicación son:

MNTCON LOADIMAGE proc1 
.
.
.
MNTCON LOADIMAGE procn

donde:

proc1 / procn

Son los nombres de todas las aplicaciones Maintain de procedimientos compilados. Los nombres deben estar en mayúsculas. Los comandos Compile & LOADIMAGE también admiten la sintaxis ApplicationName/ProcedureName.

Como alternativa, también puede colocar los comandos MNTCON LOADIMAGE directamente en el perfil, en el lugar de la declaración -INCLUDE. Sin embargo, el uso de declaraciones -INCLUDE facilita el cambio de una instancia del servidor de una aplicación a otra. Por ejemplo, los comandos siguientes cambian una instancia del servidor entre las aplicaciones Proveedores, Cursos y Ventas. En estos momentos, la instancia del servidor está configurada para ejecutar la aplicación Proveedores:

MNTCON PREPARESERVER	
-INCLUDE ACCTPAY
-* -INCLUDE COURSES
-* -INCLUDE SALES
MNTCON STARTSERVER

Nota: No se permite ningún comando posterior a MNTCON STARTSERVER.


Principio de página

x
Cómo optimizar el número de sesiones por agente

Los parámetros max_sessions_per_agent y number_ready funcionan conjuntamente para determinar el mayor rendimiento para su aplicación.

Puede usar los pasos siguientes para determinar los mejores valores:

  1. Configure su servidor para que solo haya un agente disponible y pueda procesar un máximo de 10 sesiones. Para ello, utilice la Consola Web para establecer los parámetros siguientes del servicio SAS:
    number_ready=1
    maximum=1
    max_sessions_per_agent=10

    Después de establecer los parámetros, reinicie el servidor.

  2. Ejecute casos o rutinas de prueba, con 10 usuarios efectuando las operaciones normales de la aplicación. Asegúrese de que los casos de prueba tienen tiempos de espera realistas. Las pruebas deberían aproximarse a la cantidad de tiempo de pantalla empleada por el usuario y la frecuencia con que realizan envíos al servidor.
  3. Controle los resultados de las pruebas para ver cuánto tiempo han estado esperando los usuarios. La Consola Web presenta estadísticas en tiempo real de la cola actual, que pueden consultarse seleccionando Configuración/Monitor desde el menú Área de trabajo. Cuando se abra el panel Agentes de servicios de datos, pulse con el botón derecho sobre la fila de un agente y seleccione Estadísticas.
  4. Incremente o reduzca el valor de max_sessions_per_agent y el número de pruebas, para determinar el mejor valor.

    Para ello, pulse con el botón derecho sobre un servicio de la carpeta Servicios de datos, y seleccione Propiedades. Incremente o reduzca el valor de max_sessions_per_agent y el número de pruebas, hasta que obtenga estadísticas aceptables. El campo Tiempo en cola de la página Estadísticas de agente, es un buen indicador. Cuando las estadísticas no resulten aceptables, reduzca el valor de max_sessions_per_agent y el número de pruebas, hasta que los números le parezcan válidos.

  5. Después de determinar el mejor valor de max_sessions_per_agent, puede obtener el número de agentes necesario para atender al número de usuarios esperado, además de un número métrico preciso de escalibilidad impacto/usuario. Por ejemplo, si determina que el número óptimo de sesiones gestionado por el agente es de 11 al mismo tiempo (max_sessions_per_agent=11) y espera tener 66 usuarios en un momento determinado, puede establecer number_ready en 6.

    Nota: Cada sesión puede tener entre .5M y 1.5M de datos de usuario, y debe aparecer reflejada en la fórmula impacto/usuario.

    La configuración de estos parámetros garantiza un número específico de agentes iniciados. Se carga una imagen específica de aplicación en cada agente. Esto ofrece un uso predecible de los recursos, lo que resulta clave para la escalabilidad, ya que el servidor y sus agentes ocupan una cantidad determinada de memoria, requieren una cantidad específica de espacio en el disco, y sirven a un número concreto de usuarios.


WebFOCUS