misión crítica en aplicaciones web: prácticas y experiencias ing. sebastián c. cardello...
TRANSCRIPT
Misión Crítica en Aplicaciones Web: Prácticas y Experiencias
Ing. Sebastián C. Cardello
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, [email protected]
¡Muchas Gracias!