guernica generador universal de carga dinámica en ... · análisis de resultados los resultados...
TRANSCRIPT
Raúl Peña [email protected]
GUERNICA Generador Universal de CargaDinámica en Plataformas WWW
JTS 2005
IntroducciónProblemática y necesidades
Generadores de carga del mercadoSolución GUERNICA
Conclusiones
Contenido
3
Introducción
El creciente aumento de las aplicaciones web en la actividad empresarial, ha convertidoa este tipo de software en uno de los factores críticos para el éxito de su negocio.
Un estudio publicado por el Departamento de Comercio de los Estados Unidos indicaque los errores de software ocasionan a la economía estadounidense unas pérdidasanuales de 59.500 millones de dólares, y que parte de estas pérdidas podrían haberseevitado si se hubieran aplicado estrategias de calidad adecuadas (métodos paraanalizar, construir, testear y mantener aplicaciones web).
El testing de aplicaciones web abarca un número considerable de áreas, entre las quedestaca el testing de prestaciones o pruebas de carga.
iSOCO, ha creado la solución GUERNICA, como software generador de carga sobreaplicaciones web, que permite:
• Reproducir de forma correcta y completa el comportamiento de los usuarios típicos de lasaplicaciones web.
• Evaluar el comportamiento real de las aplicaciones web ante carga parametrizada.• Establecer los límites de la carga que las aplicaciones web son capaces de soportar.
IntroducciónProblemática y necesidades
Generadores de carga del mercadoSolución GUERNICA
Conclusiones
Contenido
5
Problemática y necesidades Dinamismo en la WWW actual
La WWW ha evolucionado, caracterizándose actualmente por:• La importancia de la información crítica.• El alto porcentaje de contenido dinámico y personalizado.• La necesidad de servicios y productos de calidad a ofrecer a
clientes potenciales.• El uso de las tecnologías de última generación.
La evolución de la web implica nuevas características en susaplicaciones. Una de las más importantes es el dinamismopresente en sus contenidos, que se corresponde con eldinamismo en el comportamiento del usuario.
6
Problemática y necesidadesDinamismo en las pruebas de carga
Las características de la nueva WWW plantean una reflexión en los modelos decomportamiento, si se pretenden extraer conclusiones correctas de los mismos.
El dinamismo presente en el comportamiento del usuario obliga a que el softwaregenerador de carga sea capaz de:
• Proprocionar modelos de comportamiento dinámico:- Definir las peticiones realizadas por los usuarios en función de los
contenidos y características de las respuestas a peticiones realizadascon anterioridad.
p.e: Una búsqueda en Google suele ir seguida de un acceso al primer resultado obtenido.
- Reflejar los patrones que influyen en la forma de actuar del usuario:comportamiento guiado por objetivos, comportamiento dirigido porcontenidos, etc.
• Incorporar los modelos de comportamiento dinámico en la caracterizaciónde la carga a generar.
La caracterización del comportamiento dinámico en la carga a generar, es el puntoen el que GUERNICA aporta un valor añadido a las soluciones actuales del mercado.
IntroducciónProblemática y necesidades
Generadores de carga del mercadoSolución GUERNICA
Conclusiones
Contenido
8
Generadores de carga del mercado
WebPolygraph
JMeter
SURGE
I NFO
RM
ES DE
RE SU
LTAD
OS
SOLU
CIÓ
N A
BI ER
T A
AR
QU
I TE CTU
RA
BA
SAD
A E N
MO
DELOS
DE SIM
UL AC
IÓN
AR
QU
IT ECTU
RA
CER
CA
NA
A E SQ
UEM
AD
E NEG
OC
I O
MO
DELO
DE C
LIENTE
PAR
AM
ETRIZA
DO
MO
DE LO
BA
SAD
O EN
TI POS D
EC
AR
GA
MO
DELO
BA
SAD
O EN
LA L Ó
GIC
A D
EN
EGO
CI O
MO
DELO
CO
NS C
IE NTE
DE LA
S DIFERE N
CIA
SLA
N- WA
N
MU
LT IP LA FOR
MA
U
SAB
ILIDA
D DEL
GEN
ERA
DO
R
AR
QU
ITECTU
RA
DIST R
I BU
I DA
CA
PAC
IDA
D PAR
AM
OD
ELAR
DIN
AM
ISMO
S-Clients
Webjamma
TPC-W
SPECweb99
WEBSTONE
WEBLOAD
Propiedad
Generador
9
Generadores de carga del mercado
AUTO BENCH
INFO
RM
ES DE
RESU
LT AD
OS
SOLU
CIÓ
N A
BI ER
TA
AR
QU
I TECTU
RA
BA
SAD
A EN
MO
DELOS
DE SI M
UL AC
IÓN
AR
QU
ITECTU
RA
CER
CA
NA
A E SQ
UEM
AD
E NEG
OC
I O
MO
DELO
DE C
LIE NTE
PAR
AM
ETRIZA
DO
MO
DEL O
BA
SAD
O EN
T IP OS D
EC
AR
GA
MO
DE LO
BA
S AD
O EN
LA LÓ
GIC
A D
EN
E GO
CI O
MO
DE LO
CO
NSC
IENTE
DE LA
S D IFEREN
CIA
SLA
N-WA
N
MU
LTI PLAFOR
MA
U
S AB
ILIDA
D DE L
GEN
E RA
DO
R
AR
QU
ITECTU
RA
DIS TR
I BU
I DA
CA
PAC
IDA
D PAR
AM
OD
ELAR
DI N
AM
I SMO
HTTPREF
SIEGE
HAMMERHEAD
DELUGE
PTESTER
MERCURY
Propiedad
Generador
Sólo tres generadores del mercado, y parcialmente, son capaces de reflejar elcomportamiento dinámico del usuario en la carga que producen
IntroducciónProblemática y necesidades
Generadores de carga del mercadoSolución GUERNICA
Conclusiones
Contenido
11
Solución GUERNICAFuncionalidades
GUERNICA es la solución de iSOCO en el campo del softwaregenerador de carga para aplicaciones web.
Principales funcionalidades:
Definición de carga de usuario basada en navegaciones, con las que se refleja elcomportamiento dinámico.
Ejecución de carga mediante modelo distribuido y modelo local. Representación gráfica de resultados y exportación a otros formatos. Interpretación 3D de resultados. Contempla comandos especiales del navegador y el protocolo HTTP
(redireccionamiento automático, acceso a páginas cacheadas, etc). Simulación de tiempos de reflexión de los usuarios. Soporte a protocolo HTTP 1.0, HTTP 1.1, HTTPS, cookies, etc. Portabilidad completa entre sistemas operativos, ya que se trata de una aplicación
100% puro Java.
12
Solución GUERNICAArquitectura
InternetWWW
GUERNICA
WWW
stressGenerator : WorkloadGenerator
user 1 : WorkloadTestExecutorThread user n : WorkloadTestExecutorThread
1*
1
*
navEng : PCANavigationEngine
navEng : PCANavigationEngine
0..11 0..1
1
Clientegeneradorde carga
stressGenerator : WorkloadGenerator
user 1 : WorkloadTestExecutorThread
1
*
navEng : PCANavigationEngine
0..11
Cliente evaluador deprestaciones
planner : WorkloadPlanner
cfgs : WorkloadPlannerConfigurationRepository
statistics : WorkloadTestStatisticRepository
navigations : NavigationRepository
tests : WorkloadTestRepository
*
1
*
1
1
**
1
Planificadorde test de
prestaciones
stressGenerator : WorkloadGenerator
user 1 : WorkloadTestExecutorThread user n : WorkloadTestExecutorThread
1*
1
*
navEng : PCANavigationEngine
navEng : PCANavigationEngine
0..11 0..1
1
Clientegeneradorde carga
Administrador de tests
13
Solución GUERNICADefinición, ejecución y análisis de tests de prestaciones
DEFINICIÓN DE NAVEGACIONES
Plugins navegacionales
Definición asistida
Definición ad-hoc
Usuario conexpertise
Usuario sinexpertise
Usuario sinexpertise
Definición de test de prestaciones
Tests prestaciones
DEFINICION DE TESTS DE PRESTACIONES
Usuario sinexpertise
CONFIGURACIÓN EJECUCIÓN
Configuración del planificador
Planificación de la Ejecución de los
tests
Administrador de tests Planificador de test de prestaciones
EJECUCIÓN DE TESTS ANÁLISIS DE RESULTADOS
ThroughtPut test
0
100
200
300
400
500
600
700
800
1 3 5 7 10 15 20 25
Nº Ususarios
Mili
segu
ndos
StablishmentTime
14
Solución GUERNICADefinición de navegaciones
La navegación es la principal característica del diseño de GUERNICA, aquella quele permite reflejar el comportamiento dinámico del usuario en la generación de carga.
Informalmente, podemos afirmar que la navegación define el comportamiento delusuario mientras interactúa con la web, y por lo tanto establece una función entre laspeticiones HTTP que realiza y los contenidos que visita.
Las navegaciones se definen en un lenguaje de scripting propietario, dando origen alos plugins de navegación, que se ejecutan en el motor de navegacionesautomatizadas basado en la tecnología PCA de iSOCO.
GUERNICA ofrece una extensión para navegadores de la familia Mozilla (CARENA)que permite capturar las navegaciones realizadas por el usuario, y generar losplugins de navegación automáticamente.
Los conocimientos en el lenguaje de scripting únicamente serán necesarios para loscasos complejos.
15
Solución GUERNICADefinición de tests de prestaciones
Los tests de prestaciones o tests de carga definen el conjuntode navegaciones a ejecutar por uno o varios usuarios.
El test de carga básicamente define:
El número de threads ejecutores de navegaciones (que representanlos usuarios que navegan en paralelo).
El conjunto de navegaciones a ejecutar por los threads. La distribución de las navegaciones sobre los threads de ejecución
de acuerdo a ciertos modelos (grafo probabilístico para la selecciónde navegaciones, pila de navegaciones, etc). Permitiendo unarepetición finita o infinita de la ejecución del test.
16
Solución GUERNICAConfiguración y ejecución de la carga
La configuración de la carga indica como se distribuye laejecución de los tests de carga disponibles.
La configuración define:
El número de generadores de carga que participan en el stress, y elcaso de test a ejecutar por cada uno, así como la ubicación física delgenerador.
El generador sonda, o generador sobre el que se ejecuta lanavegación cuya eficiencia se pretende evaluar. Indicando ubicaciónfísica y test de carga asociado.
La ejecución de la carga es coordinada por el planificador. Elusuario encargado de administrar el proceso de generación decarga lo configura y lanza, distribuyéndose los tests por losgeneradores, que notifican sus resultados para que el planificadorse encargue de homogeneizarlos, y almacenarlos.
17
Solución GUERNICAAnálisis de resultados
Los resultados recogidos por GUERNICA pueden ser exportadosa diferentes formatos para ser interpretados, entre los quedestacan:
Formato CSV (Excel). Formato para la visualización en 3D de los caminos navegados,
mediante la herramienta SemanticViz. Otros formatos para la visualización de gráficas de varios tipos
(barras, tarta, dispersión, etc).
GUERNICA contempla la posibilidad de representar on-linegráficas de índices definidos sobre los resultados de la cargagenerada (productividad, tiempo de respuesta, etc).
18
Solución GUERNICAVentajas
CARACTERÍSTICAS GUERNICA
INFO
RM
ES DE
RESU
LTAD
OS
S OLU
CI Ó
N A
BIER
TA
AR
QU
I TECTU
RA
BA
SAD
A EN
MO
DELOS
DE SI M
ULAC
IÓN
AR
QU
ITECTU
RA
CER
CA
NA
A E SQ
UEM
AD
E NEG
OC
I O
MO
DELO
DE C
LIENTE
PAR
AM
ETRIZA
DO
MO
DEL O
BA
S AD
O E N
T IP OS D
EC
AR
GA
MO
DE LO
BA
S AD
O E N
LA LÓ
GIC
A D
EN
E GO
CIO
MO
DE LO
CO
NSC
I ENTE
DE L A
S DIFE REN
CIA
SLA
N -WA
N
M
ULTIPLAFO
RM
A
USA
BILID
AD
D ELG
ENER
AD
OR
AR
QU
IT ECTU
RA
DIS TR
IBU
IDA
CA
PAC
IDA
D PAR
AM
OD
ELAR
DIN
AM
IS MO
GUERNICA hace propias las ventajas de los demás generadores de carga ypresenta capacidad total a la hora de representar el comportamiento dinámico del
usuario en la carga producida
19
Solución GUERNICARequerimientos de funcionamiento
Consumo de recursos hardware en la generación de carga. Estetipo de software se caracteriza por un elevado consumo derecursos hardware.
Definición y montaje del entorno hardware de testing. En lamayoría de las ocasiones el entorno hardware debe de estarcompuesto por una red independiente y más de una máquinapara la generación de carga.
Simulación de los retardos propios de una WAN, sobre el entornode testing (típicamente LAN).
IntroducciónProblemática y necesidades
Generadores de carga del mercadoSolución GUERNICA
Conclusiones
Contenido
21
Conclusiones
GUERNICA es la solución de iSOCO en el campo del softwaregenerador de carga para aplicaciones web.
GUERNICA permite representar el comportamiento dinámico delusuario WWW en la carga que genera. La carga generada esrepresentativa de la carga real y por lo tanto las conclusionesextraídas son directamente extrapolables.
GUERNICA es la herramienta empleada por iSOCO en laejecució n de proyectos de testing de prestaciones sobreaplicaciones web.
22
Conclusiones
GUERNICA se plantea como proyecto I+D, a dos años, lideradopor iSOCO con la colaboración del Grupo de Investigación deArquitecturas Web (UPV) y el Instituto Tecnológico de Informática(ITI).
Como proyecto I+D recibe el reconocimiento del GobiernoEspañol (PROFIT FIT-340000-2004-236) y del IMPIVA(IMIDTD/2004/192).