Publicado el 14 de Enero del 2017
818 visualizaciones desde el 14 de Enero del 2017
412,6 KB
16 paginas
Creado hace 12a (18/02/2013)
Sistema de cargas sintéticas
Diseño y Evaluación de Configuraciones
Curso 2012-13
Jose M Drake · Miguel Telleria
drakej AT unican.es telleriam AT unican.es
Computadores y Tiempo Real
http://www.ctr.unican.es
Computadores y Tiempo Real
Universidad de Cantabria
Diseño y Evaluación de Configuraciones
Sistema de cargas sintéticas
Mecano cliente servidor
● Permite reproducir aplicaciones complejas cliente servidor
Cliente
Servidor
Destino1
Destino2
Cliente
Servidor Destino 1 Destino 2
11 Feb 2013
José M. Drake drakej AT unican.es
Miguel Telleria de Esteban telleriam AT unican.es
Página 2 de 16
Computadores y Tiempo Real
Universidad de Cantabria
Diseño y Evaluación de Configuraciones
Sistema de cargas sintéticas
Funcionalidad cliente
Aqui enviamos los paquetes
CLIENTE: CPU: 0.81 sg
CLIENTE: PERIODO: 0.999 sg
CLIENTE: CPU: 0.75 sg
CLIENTE: PERIODO: 0.999 sg
CLIENTE: CPU: 0.79 sg
CLIENTE: PERIODO: 0.999 sg
CLIENTE: CPU: 0.77 sg
CLIENTE: PERIODO: 0.999 sg
CLIENTE: CPU: 0.82 sg
CLIENTE: PERIODO: 0.999 sg
CLIENTE: CPU: 0.80 sg
CLIENTE: PERIODO: 0.999 sg
11 Feb 2013
José M. Drake drakej AT unican.es
Miguel Telleria de Esteban telleriam AT unican.es
Página 3 de 16
Computadores y Tiempo Real
Universidad de Cantabria
Diseño y Evaluación de Configuraciones
Sistema de cargas sintéticas
GUI del cliente
EXPONENCIAL
UNIFORME
CONSTANTE
!00%
Frecuencia
CONSTANTE
UNIFORME
EXPONENCIAL
BIPOLAR
Frecuencia +Rango/2
Frecuencia -Rango/2
BIPOLAR
50%
Frecuencia
Frecuencia +Rango/2
Frecuencia -Rango/2
11 Feb 2013
José M. Drake drakej AT unican.es
Miguel Telleria de Esteban telleriam AT unican.es
Página 4 de 16
Computadores y Tiempo Real
Universidad de Cantabria
Diseño y Evaluación de Configuraciones
Sistema de cargas sintéticas
Funcionalidad del servidor
11 Feb 2013
José M. Drake drakej AT unican.es
Miguel Telleria de Esteban telleriam AT unican.es
Página 5 de 16
Computadores y Tiempo Real
Universidad de Cantabria
Diseño y Evaluación de Configuraciones
Sistema de cargas sintéticas
GUI del servidor
SERVIDOR proc2-a1: WORK: 0.14 sg enviado a DESTINO1
SERVIDOR proc2-a1: WORK: 0.45 sg enviado a DESTINO1
SERVIDOR proc2-a1: WORK: 0.34 sg enviado a DESTINO2
SERVIDOR proc2-a1: WORK: 0.7 sg enviado a DESTINO2
SERVIDOR proc2-a1: WORK: 0.36 sg enviado a DESTINO2
SERVIDOR proc2-a1: WORK: 0.11 sg enviado a DESTINO1
11 Feb 2013
José M. Drake drakej AT unican.es
Miguel Telleria de Esteban telleriam AT unican.es
Página 6 de 16
Uso de las cargas sintéticas
Computadores y Tiempo Real
Universidad de Cantabria
Diseño y Evaluación de Configuraciones
Sistema de cargas sintéticas
Formas de lanzar las cargas sintéticas
● Las clases Cliente y Servicio se pueden arrancar de 4 formas:
● Desde Eclipse sobre el fichero con Run as Java Application
– No se pueden poner opciones de arranque
● Desde Eclipse con el Run configurations
● Desde Eclipse con el Maletín TPTP (cuando veamos el profiler)
● Externamente a eclipse desde la shell con el comando
–
java -classpath <workspace/bin>:<path SWT> <opciones JVM>
<claseMain> <opciones de arranque>
11 Feb 2013
José M. Drake drakej AT unican.es
Miguel Telleria de Esteban telleriam AT unican.es
Página 8 de 16
Computadores y Tiempo Real
Universidad de Cantabria
Diseño y Evaluación de Configuraciones
Sistema de cargas sintéticas
Opciones de comando de las cargas sintéticas
● Se han añadido para hacer más automático el proceso de arrancar
las aplicaciones.
● Para el Servicio
nombre
tiempo_cpu
● Para el Cliente
nombre
tiempo_cpu
modo
acceso
periodo
long_mensaje
destino1
destino2
destino
● Estas opciones se pueden poner:
● En los lanzadores de Eclipse (Run Config, Profile Config)
● En la línea de comando
11 Feb 2013
José M. Drake drakej AT unican.es
Miguel Telleria de Esteban telleriam AT unican.es
Página 9 de 16
Computadores y Tiempo Real
Universidad de Cantabria
Diseño y Evaluación de Configuraciones
Sistema de cargas sintéticas
Opciones de comando (II) (-help)
Usage: Cliente sintetico
Options include:
-help,-? displays help information
-nr_paquetes <string> nr_paquetes inyectados (0 ilimitado)
-periodo <string> CTE|EXP|UNI|BIP,media,rango
-tiempo_cpu <string> CTE|EXP|UNI|BIP,media,rango
-long_mensaje <string> CTE|EXP|UNI|BIP,bytes,rango
-destino <string> IPdest,Portdest
-nombre <string> Nombre del cliente
Usage: Servicio sintetico
Options include:
-help,-? displays help information
-modo <string> EXCL|NOEXCL
-acceso <string> puerto
-tiempo_cpu <string> CTE|EXP|UNI|BIP,media,rango
-destino1 <string> Porcentage,IPdest,Portdest
-destino2 <string> Porcentage,IPdest,Portdest
-nombre <string> Nombre del servicio
Nota: Cualquier opción ausente tomará un valor por defecto (no hace falta poner todo)
11 Feb 2013
José M. Drake drakej AT unican.es
Miguel Telleria de Esteban telleriam AT unican.es
Página 10 de 16
Computadores y Tiempo Real
Universidad de Cantabria
Diseño y Evaluación de Configuraciones
Sistema de cargas sintéticas
Construcción de la linea de comando
● Ejemplo de Cliente (todo en una línea):
– Java + opciones de la JVM
– Classpath (raiz de los paquetes .class y SWT)
– Clase main (con su paquete)
– Opciones de comando
java -Dfile.encoding=UTF-8
-classpath /home/miguel/temp/egit/LoadProject/LoadProyect/bin:/usr/share/java/swt.jar
clienteservicio/Cliente
-nombre proc1/a -nr_paquetes 5 -periodo CTE,0.2,0 -tiempo_cpu EXP,0.05,0
-long_mensaje CTE,256,0 -destino 127.0.0.1,12000
● Ejemplo de servicio:
java -Dfile.encoding=UTF-8
-classpath /home/miguel/temp/egit/LoadProject/LoadProyect/bin:/usr/share/java/swt.jar
clienteservicio/Servicio
-nombre proc2/b1 -acceso 12006 -modo NOEXCL -tiempo_cpu UNI,0.5,0.2
-destino1 100,127.0.0.1,12008 -destino2 100,127.0.0.1,12010
11 Feb 2013
José M. Drake drakej AT unican.es
Miguel Telleria de Esteban telleriam AT unican.es
Página 11 de 16
Computadores y Tiempo Real
Universidad de Cantabria
Diseño y Evaluación de Configuraciones
Sistema de cargas sintéticas
Guardar la traza de salida
● Utilidad tee de linux
stdinput
stdoutput
tee <fichero.output>
<fichero.output>
java -Dfile.encoding=UTF-8
-classpath /home/miguel/temp/egit/LoadProject/LoadProyect/bin:/usr/share/java/swt.jar
clienteservicio/Servicio
-nombre proc2/b1 -acceso 12006 -modo NOEXCL -tiempo_cpu UNI,0.5,0.2
-destino1 100,127.0.0.1,12008 -destino2 100,127.0.0.1,12010
| tee b1.output
11 Feb 2013
José M. Drake drakej AT unican.es
Miguel Telleria de Esteban telleriam AT unican.es
Página 12 de 16
Computadores y Tiempo Real
Universidad de Cantabria
Diseño y Evaluación de Configuraciones
Sistema de cargas sintéticas
LauncherXML.pl
● Utilidad en PERL que genera la linea de comando
● Relaciona nodos con IP's y puertos (no hace falta repetirlos).
●
Imprime una línea de comando con captura de la salida
● Lanza el proceso y devuelve el PID resultante.
launcherXML.pl <fichero.xml> <nodo>
<fichero.XML>
cmdline app1 nodo
cmdline app2 nodo
cmdline app3 nodo
11 Feb 2013
José M. Drake drakej AT unican.es
Miguel Telleria de Esteban telleriam AT unican.es
Página 13 de 16
Computadores y Tiempo Real
Universidad de Cantabria
Diseño y Evaluación de Configuraciones
Sistema de cargas sintéticas
Fichero XML de launchXML (nodos y listeners)
11 Feb 2013
José M. Drake drakej AT unican.es
Miguel Telleria de Esteban telleriam AT unican.es
Página 14 de 16
Computadores y Tiempo Real
Universidad de Cantabria
Diseño y Evaluación de Configuraciones
Sistema de cargas sintéticas
Fichero XML de launchXML (config)
definidos en las secciones nodos y listeners
11 Feb 2013
José M. Drake drakej AT unican.es
Miguel Telleria de Esteban telleriam AT unican.es
Página 15 de 16
Computadores y Tiempo Real
Universidad de Cantabria
Diseño y Evaluación de Configuraciones
Sistema de cargas sintéticas
Utilización de LauncherXML
● Para utilizarlo hay que ajustar:
● El PATH del workspace en el código Perl de la herramienta
my $main_classdir ="/home/alumnos/workspace/LoadProyect/bin";
● Las direcciones IP en el fichero XML de los datos
<nodos nbr = "2">
<nodo id="proc1" ip="172.31.16.65"/>
<nodo id="proc2" ip="172.31.16.58"/>
</nodos>
● Una vez hecho esto se lanza de la forma
./launchXML <fichero_xml> <nombre_nodo> [nombre de app]
– Si no se pone el [nombre de app] se entiende que se lanzan todas
./launcherXML.pl practica1.xml proc2
./launcherXML.pl practica1.xml proc1 a1
11 Feb 2013
José M. Drake drakej AT unican.es
Miguel Telleria de Esteban telleriam AT unican.es
Página 16 de 16
Comentarios de: Sistema de cargas sintéticas (0)
No hay comentarios