misión crítica en aplicaciones web: prácticas y experiencias ing. sebastián c. cardello...

Post on 23-Jan-2016

221 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Misión Crítica en Aplicaciones Web: Prácticas y Experiencias

Ing. Sebastián C. Cardello

scardello@acpsistemas.com.ar

Agenda

Introducción

Relevamiento y Planificación

Genexus

Tunning

Analizando la Aplicación

Introducción – Misión Crítica

Características:

Disponibilidad

Tiempo de Respuesta

Capacidad Operativa

Consistencia

Usabilidad

“Conjunto de operaciones esenciales para que una organización cumpla su meta diariamente”

Nuestro Caso Testigo

MeSAS: Sistema de Administración de Piezas Administrativas del Gob. de Mendoza, Rep. Argentina.

Tecnología: Genexus 8 (Java Gen.) + Tomcat 5.0 (Linux) + DB2 UDB for Iseries (OS400/V5R4)

Estadísticas (Agosto 2006)Usuarios: 2500 aproxSesiones Concurrentes en AppServer: 400 aproxBase de Datos: 40GbVisitantes Distintos x Día (Prom.): 1438 (1556 Visitas Distintas al Mes)Visitas: 31814 (20,44 Visitas/Visitante)Páginas Servidas: 1790825 (56,29 Páginas/Visitas)Tráfico Generado: 15,40 GB

Relevamiento y Planificación

Arquitectura

Infraestructura

Usuario

Genexus

Trabajando con Datos

Consistencia y Manipulación

Obtención y Navegación

Administración

Interfaz

Diseño

Control y Seguridad

Usabilidad y Navegabilidad

Interactividad y Tiempo de Respuesta

Consistencia y Manipulación

Administrar Correctamente la LWU.

Obtención y Navegación

Objetivo: Optimizar Recursos y Tiempo.

Búsquedas “planas”.

Usar Condicionales (CCC)

Procesar datos en el DBMS.

Administración

Hecho: Todo sistemas que manipula volumenes altos y concurrente de ingreso de datos requerirá mantenimiento de los mismos.

Solución: Pattern.

Diseño

Diseño no necesariamente es diseño gráfico.

Themes y CSS.

Optimizar área de trabajo.

Tunning de la pantalla del Navegador (CCC).

Header y Footer proporcionales a la aplicación.

Control y Seguridad

Explotar el “Client Side Validation”.

Agregar funcionalidad JavaScript cuando sea necesaria (JsEvents)

Ejemplo: el “atrapador de Double Click”.

Login Time Out.

Usabilidad y Navegabilidad

Guiar la operatoria del Usuario, para acortar la distancia en “clicks”.

Interfaz Inteligente.

Recent Links y Recently Used

Impresión directa a impresora en Web.

Formularios Cómodos

Access Keys (CCC)

Edit Box por defecto.

Interactividad y Tiempo de Respuesta

AJAX: Interactividad vs. Performance (CCC).

“Síndrome de la Búsqueda Cero”.

Evitar los Record Counts.

Tuning

De la aplicación desarrollada con Genexus.

Del servidor de aplicaciones.

Del DBMS.

De la aplicación desarrollada con Genexus

Table Cache. (CCC)

Pooling de Conexiones.

Tamaño.

Reciclado.

Cursor 2Cursor 1

Pool de Conexiones

Conexión 1

Del servidor de aplicaciones

Ciertas configuraciones básicas son independiente del AppServer elegido.

Clustering y Carga Balanceada

Cluster Vertical vs. Cluster Horizontal.

Diversas metodología de balance de carga.

LB App

AS1 AS2AS1

AS1

S1

S2

S3

Del DBMS

Los DBMS son piezas de software altamente configurables: se recomienda un DBA.

Configuraciones Básicas

Manejo de los hilos de atención.

Manejo de las conexiones.

Cache y Buffers.

Analizando la aplicación

Análisis previos a puesta en producción

Análisis de Stress

Análisis posteriores a puesta en producción

Análisis Web estadísticos

Análisis de datos

Análisis de Stress

Permite probar la estabilidad y rendimiento frente a una simulación de carga.

Orientados a una operación en particular.

Implican mucho trabajo si se pretenden simular entornos muy reales.

Análisis Web Estadísticos

Nos permiten conocer hábitos de uso del sistema, con alto nivel de desagregación.

Fácil de integrar con las aplicaciones, y no requieren mantenimiento.

Una buena alternativa: AwStats.

Análisis de Datos

Nos permite encontrar cuellos de botellas en la adquisición y manipulación de datos.

Existen aplicaciones Front End que simplifican la lectura y comprensión.

¿Preguntas?

Más Información

Conferencias relacionadas:

Probando performance y escalabilidad -> Disminuyendo riesgos y mejorando dimensionamiento - Ballroom C, 20/09/06, 11:45

Ing. Sebastián C. Cardello, scardello@acpsistemas.com.ar

¡Muchas Gracias!

top related