guernica generador universal de carga dinámica en ... · análisis de resultados los resultados...

22
Raúl Peña Ortiz [email protected] GUERNICA Generador Universal de Carga Dinámica en Plataformas WWW JTS 2005

Upload: others

Post on 21-Aug-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

Raúl Peña [email protected]

GUERNICA Generador Universal de CargaDinámica en Plataformas WWW

JTS 2005

Page 2: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

IntroducciónProblemática y necesidades

Generadores de carga del mercadoSolución GUERNICA

Conclusiones

Contenido

Page 3: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

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.

Page 4: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

IntroducciónProblemática y necesidades

Generadores de carga del mercadoSolución GUERNICA

Conclusiones

Contenido

Page 5: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

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.

Page 6: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

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.

Page 7: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

IntroducciónProblemática y necesidades

Generadores de carga del mercadoSolución GUERNICA

Conclusiones

Contenido

Page 8: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

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

Page 9: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

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

Page 10: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

IntroducciónProblemática y necesidades

Generadores de carga del mercadoSolución GUERNICA

Conclusiones

Contenido

Page 11: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

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.

Page 12: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

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

Page 13: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

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

Page 14: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

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.

Page 15: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

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.

Page 16: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

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.

Page 17: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

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).

Page 18: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

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

Page 19: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

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).

Page 20: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

IntroducciónProblemática y necesidades

Generadores de carga del mercadoSolución GUERNICA

Conclusiones

Contenido

Page 21: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

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.

Page 22: GUERNICA Generador Universal de Carga Dinámica en ... · Análisis de resultados Los resultados recogidos por GUERNICA pueden ser exportados a diferentes formatos para ser interpretados,

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).