You are on page 1of 69

Sistema de Control de una aplicacin web

Controlador difuso

Versin:
Fecha:

INGENIERIA
DE
CONTROL

Modificado
11/12/2011

11 de diciembre

2011

TRABAJO - PROYECTO

SISTEMA DE
CONTROL DE UNA
APLICACIN WEB

TEMA

INFORME FINAL

INTEGRANTES
07200062

REYES MARZANO, ALEJANDRO

07200135

HUAPAYA VASQUEZ , JOSE

07200074

CASASOLA, CESAR MIGUEL

07200179

MALLQUI PARRA, FRANCO ERNESTO

Confidencial

FISI-UNMSM
2011

Pg. 1

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

TABLA DE CONTENIDOS
1

Introduccin

1.1
1.2
1.3
1.4
1.5
1.6

3
3
4
4
4
4

Marco terico
2.1
2.2
2.3
2.4
2.4.1
2.4.2
2.4.3

Antecedentes
Definicin del problema
Objetivos
Justificacin
Propuesta
Organizacin de la tesina

Teora de control
Ingeniera de control
Servidor web
E-commerce
Historia del e-commerce
Clases de e-commerce
Factores claves de xito en e-commerce

5
7
7
10
10
10
11

Estado del arte

12

3.1
3.2
3.3
3.4
3.5

12
13
13
13
13

Taxonoma
Sistema usado
Modelo matemtico
Mtodos
Software relacionado

Resolucin del problema aplicando la tcnica seleccionada

14

4.1
El modelo matemtico del servidor apache
4.1.1 Configuracin del servidor apache
4.1.2 Experimento con el generador de carga de trabajo JMETER
4.1.2.1
Equipos de software y hardware para el experimento.
4.1.2.2
Determinacin del MaxClients

14
14
16
16
17

Descripcin de la solucin tecnolgica

17

5.1

18

Pruebas con el JMETER

Construccin del modelo matemtico

48

6.1
6.2
6.3
6.3.1
6.3.2

55
57
62
62
64

Diseo del controlador web


Modelo difuso del controlador
Construccin del controlador difuso
Programacin en java
Ejecucin del controlador

Conclusiones y trabajos futuros

68

Referencias bibliogrficas

69

Confidencial

FISI-UNMSM
2011

Pg. 2

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

ANALISIS Y DISEO DE UN SISTEMA DE CONTROL APLICADO A UNA WEB


1

Introduccin
La arquitectura cliente-servidor es un modelo de aplicacin distribuida en el que las
tareas se reparten entre los proveedores de recursos o servicios, llamados servidores,
y los demandantes, llamados clientes. Un cliente realiza peticiones a otro programa,
el servidor, que le da respuesta. Esta idea tambin se puede aplicar a programas que
se ejecutan sobre una sola computadora, aunque es ms ventajosa en un sistema
operativo multiusuario distribuido a travs de una red de ordenadores.
La separacin entre cliente y servidor es una separacin de tipo lgico, donde el
servidor no se ejecuta necesariamente sobre una sola mquina ni es necesariamente
un slo programa. Los tipos especficos de servidores incluyen los servidores web,
los servidores de archivo, los servidores del correo, etc. Mientras que sus propsitos
varan de unos servicios a otros, la arquitectura bsica seguir siendo la misma.
Para este caso analizaremos el comportamiento de un servidor web en especial, el
APACHE SERVER, sus problemas frente a casos reales relacionados con la cantidad
de clientes que pueda manejar y una forma de solucionar dicha interrogante.

1.1

Antecedentes
El creciente uso de internet y la World wide web que es el principal servicio del
internet, para aplicaciones como e-commerce, redes sociales, trabajos en lnea, etc.
Esto hace que los servidores que son los que alojan las aplicaciones web,
experimenten una sobre carga de trabajo, esto a su vez provoca una mala calidad de
los servicios, esto es una seal de desprestigio para cualquier empresa, en
consecuencia surge una necesidad de solucionar este problema, al no haber una
solucin en trminos de un modelo conocido, es necesario hacer una serie de
simulaciones para ver el funcionamiento de los servidores y a partir de all sacar un
modelo de comportamiento de los servidores para su posterior planificacin y control
de los accesos a los servicios, con la intencin de ayudar a dar un mejor servicio y de
acuerdo a un criterio de acceso de modo que no haya una sobrecarga de peticiones
con tiempos de latencia alta y al final nadie acceda.

1.2

Definicin del problema


El problema encontrado es: que los servidores de aplicacin web como apache v2.2,
no tienen un control automtico de la cantidad de peticiones de acuerdo a los recursos
existentes en el servidor, en consecuencia debe existir un administrador del servidor
que est cambiando de manera manual los valores de la cantidad mxima de clientes
MaxClients, esto hace que existan en algunos casos una cantidad de peticiones por
encima del MaxClients y como resultado un tiempo de respuesta alta y una mala
calidad de los servicios

Confidencial

FISI-UNMSM
2011

Pg. 3

Sistema de Control de una aplicacin web


Controlador difuso

1.3

Versin:
Fecha:

Modificado
11/12/2011

Objetivos
El objetivo de nuestro trabajo es la propuesta de solucin del problema identificado
anteriormente el cual consiste en la aplicacin de la teora de control para el diseo de
un controlador que permita ajustar los parmetros del servidor sin la necesidad de un
operario y as reducir la probabilidad de falla del sistema debido a la carga de trabajo.

1.4

Justificacin
El uso del internet y especialmente de la world wide web se hace cada vez ms
indispensable para las organizaciones de cualquier ndole sea con o sin nimo de
lucro, inclusive las personas de todo nivel de conocimiento hacen de internet una
forma de vida ya sea en las redes sociales como Facebook, twitter, blogger, y otras
aplicaciones, tambin el e-commerce cada vez hay ms gente comprando, vendiendo
algo por medios electrnicos como el internet. Esto hace que exista servicios que den
soporte a estas aplicaciones de manera fiable y con un tiempo transparente para el
comn de los internautas, es por ello que proponemos que haya un controlador que
controle a los servidores web de manera automtica o con la mnima intervencin
humana, apra ello aplicamos la teora de control que ya se han aplicado en otras reas
de la ingeniera como en control de procesos industriales.

1.5

Propuesta
Nuestra propuesta es la implementacin de un controlador de tipo SISO (una entrada
y una salida), el cual consiste que existir una variable de entrada el MaxClients y
una de salida el Tiempo de respuesta, esto usando el modelo matemtico que resulta
de la simulacin de las cargas de trabajo son la herramienta JMETER.

1.6

Organizacin de la tesina
El trabajo est organizado en 7 captulos de la siguiente manera captulo 1 una
pequea introduccin al trabajo en la que se da a conocer los antecedentes, definicin
del problema, objetivos, justificacin y propuesta de solucin. En el captulo 2 se
presenta el marco terico en la que se sustenta el trabajo. En el captulo 3 se presenta
el estado del arte, el cual consiste en la presentacin de los trabajos existentes hasta
este momento referente al tema. En el captulo 4 se presenta el trabajo en s, el cual
consiste en la implementacin de un controlador. El captulo 5 consiste en la
descripcin de la solucin propuesta. El captulo 6 nos muestra las conclusiones a la
que llegamos y los trabajos a futuro referente al tema en cuestin. El captulo 7
cosiste en la presentacin de las bibliografas consultadas para la realizacin del
presente trabajo.

Marco terico
El marco terico es la teora en la que se fundamenta el trabajo en cuestin en este caso
el diseo de un controlador web, para lo cual se necesita conocer la teora de control, la

Confidencial

FISI-UNMSM
2011

Pg. 4

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

ingeniera de control, los servidores web, el e-commerce el cual ser la aplicacin a


simular, y toda la argumentacin terica referente a la revisin de las bibliografas
citadas al final del trabajo.
2.1

Teora de control
Una lnea de investigacin interdisciplinaria que abarca los campos de la ingeniera y
de las matemticas, en la cual se trata de estudiar el comportamiento de sistemas
dinmicos a travs de modelos para su posterior control, en este sistema de control se
tiene entradas y para los cuales se tiene cierta salida, a esta salida se le conoce con el
nombre de referencia, todo ello con el objetivo de tener un efecto deseado en la salida
del sistema.

A partir del ao 1955, se desarrollan los mtodos temporales, con el objetivo de


solucionar los problemas planteados en aplicaciones aerospaciales, estos mtodos
reciben un fuerte impulso con el desarrollo de las computadoras digitales, que
constituan la plataforma tecnolgica necesaria para su implantacin, prueba y
desarrollo. Aparece un nuevo mtodo de diseo de control, conocido a partir de
entonces como teora de control moderna. Se basaba en representar los sistemas en
variables de estado o representacin interna y trabajando casi exclusivamente en el
dominio del tiempo.
La primera formulacin en trminos de estado, funcin de transicin y de lectura, se
hizo en el marco de la teora de mquinas discretas formulada por Turing, en 1936. Los
investigadores de la Unin Sovitica son los primeros que utilizan el mtodo de
descripcin interna en el estudio de los sistemas continuos. Destacan los trabajos de
Aizerman, Lerner, Lurie, Pontryagin, La Salle, Popov, Minorsky, Kabala y Bellman.
La teora de control moderna est basada en el concepto de estabilidad de Liapunov
presentado a finales del siglo XIX. Los trabajos desarrollados por Lurie sobre
servomecanismos de posicionamiento de torretas de tanques dieron lugar al concepto
de estabilidad absoluta, generalizada despus por Popov con el concepto de
hiperestabilidad, que considera no linealidades en la realimentacin. Los criterios de
Confidencial

FISI-UNMSM
2011

Pg. 5

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

controlabilidad y observabilidad de sistemas dinmicos lineales, se deben a Kalman,


aunque la nocin de controlabilidad fue utilizada anteriormente por Pontryagin.
Los mtodos de control ptimo se basan en los trabajos de fsicos de los siglos XVII a
XIX, entre los que destaca Euler, con su clculo de variaciones. En el desarrollo de
estos mtodos se deben destacar los trabajos de Pontryagin, La Salle, Bellman
y Kalman. Kalman efecta la resolucin de los problemas de control ptimo cuadrtico
y lineal cuadrtico gaussiano.
Zadeh generaliza los resultados de teora de circuitos a sistemas en el espacio de
estados y Luenberger en 1966 lo hace en lo que concierne al diseo de observadores.
En el control lgebraico, basado en la utilizacin de matrices polinomiales y
racionales, hay que hacer mencin de los trabajos de Kalman, Rosembrock y
Wolowich. Son mtodos que utilizan la descripcin externa. Al final de los sesenta y
comienzo de los setenta se presenta el enfoque geomtrico del problema de control,
que utiliza mtodos del lgebra lineal. En paralelo se desarrollan los mtodos de
identificacin de sistemas, por mnimos cuadrados y de mxima verosimilitud, este
ltimo fue desarrollado por Fisher en 1912 y aplicado en sistemas industriales por
strm y Bohlin en 1965. Tambin se desarrollan las tcnicas de control adaptativo.
Desde un punto de vista conceptual, las tcnicas adaptatvas aparecen cuando se
transvasan a la mquina comportamientos inherentes al hombre: La adaptacin, no en
trminos de decisiones (conseguida con la realimentacin simple), sino en trmino de
estructuras para la decisin. Las Estructuras de Control adaptatvas que han tenido
mayor impacto tcnico son:
Sistemas Auto-Ajustables.
Sistemas Adaptativos con Modelo de Referencia (S.A.M.R.).
El concepto de regulador autoajustable fue propuesto inicialmente por Kalman,
utilizando un mtodo de identificacin de mnimos cuadrados recursivos en su artculo
"Design of a self-optimizing control system", otro sistema, basado en la minimizacin
de la varianza de salida es desarrollado por Peterka en 1970, y por strm y
Witenmark Se consideraba el problema en un entorno estocstico.
La tcnica de los sistemas autoajustables se basa en que si se dispone de un mtodo
vlido de diseo de reguladores que parte del conocimiento del modelo del proceso,
para realizar un control que se adapte a los cambios en el proceso basta con acoplar ese
mtodo de diseo de reguladores con un procedimiento de identificacin en lnea. Para
ello se supone, evidentemente, que existe una separacin entre las tareas de
identificacin y control. Se dispondr de un "calculador" que en paralelo al control se
encarga de calcular los valores ptimos de los coeficientes del regulador. Este
"calculador" consiste en un estimador recursivo de los parmetros del sistema o
proceso controlado. Los resultados del estimador servirn para calcular los valores
ptimos de los coeficientes del regulador.
El principal inconveniente de esta aproximacin es que la estabilidad no llega a
asegurarse en el caso general. Los sistemas adaptativos con modelo de referencia
Confidencial

FISI-UNMSM
2011

Pg. 6

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

(SAMR) fueron propuestos por los investigadores del M.I.T. Whitaker, Narmon y
Kezer en 1958 al estudiar los servomecanismos con ganancia variable en la
publicacin "Desing of a Model Reference Adaptive System for Arcraft".
Los Sistemas Adaptativos con Modelo de Referencia se basan en otro concepto muy
simple: se desea que el comportamiento del proceso sea "idntico" al de un modelo que
se da como referencia. Si existe diferencia entre las salidas del proceso y del modelo
un mecanismo de adaptacin intenta minimizarla con el ajuste de los parmetros del
regulador, o aadiendo una variacin en la accin sobre el sistema fsico.
Pero se tuvo que admitir que la bondad del diseo dependa de la bondad del modelo y
de las especificaciones que se emplean para desarrollarlos.
Se han llegado a desarrollar mtodos mecanizados de diseo en el dominio de la
frecuencia que son equivalentes a los mtodos de diseo de variable de estado cuando
la estructura del control es coincidente.
2.2

Ingeniera de control
La ingeniera de control es la aplicacin de la teora de control a un problema en
concreto, es decir usar elementos sistemticos como control numrico, controladores
PID, circuitos lgicos programables, etc. A procesos industriales y en nuestro caso en
procesos computacionales como en el caso concreto del control automtico de
servidores de e-commerce. Como la ingeniera de control se preocupa principalmente a
controlar sistemas dinmicos sin la intervencin humana.

2.3

Servidor web
Un servidor web es un programa que se ejecuta continuamente en un computador,
mantenindose a la espera de peticiones de ejecucin que le har un cliente o un
usuario de Internet. El servidor web se encarga de contestar a estas peticiones de forma
adecuada, entregando como resultado una pgina web o informacin de todo tipo de
acuerdo a los comandos solicitados. En este punto es necesario aclarar lo siguiente:
mientras que comnmente se utiliza la palabra servidor para referirnos a una
computadora con un software servidor instalado, en estricto rigor un servidor es el
software que permite la realizacin de las funciones descritas.
El servidor vendra a ser la "casa" de los sitios que visitamos en la Internet. Los sitios
se alojan en computadores con servidores instalados, y cuando un usuario los visita son
estas computadoras las que proporcionan al usuario la interaccin con el sitio en
cuestin. Cuando se contrata un plan de alojamiento web con una compaa, esta
ltima proporciona un servidor al dueo del sitio para poder alojarlo; al respecto hay
dos opciones, optar por un "servidor dedicado", lo que se refiere a una computadora
servidora dedicada exclusivamente al sitio del cliente (para aplicaciones de alta
demanda), o un "servidor compartido", lo que significa que un mismo servidor

Confidencial

FISI-UNMSM
2011

Pg. 7

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

(computadora + programa servidos) se usar para varios clientes compartiendo los


recursos.
Gracias a los avances en conectividad y la gran disponibilidad de banda ancha, hoy en
da es muy comn establecer los servidores web dentro de la propia empresa, sin tener
que recurrir a caros alojamientos en proveedores externos. Esto es posible gracias a
Apache, uno de los mejores y el ms utilizado entre los servidores Web que existen.
Apache ha construido una gran reputacin entre los servidores web gracias a su gran
estabilidad, confiabilidad y el gran aporte del grupo de voluntarios que planean y
desarrollan todo lo relativo a esta plataforma, desde la documentacin hasta el mismo
cdigo en s.
Entre las ventajas que presenta un servidor como Apache se encuentran las siguientes:
Es personalizable, la arquitectura modular de Apache permite construir un servidor
hecho a la medida. Adems permite la implementacin de los ltimos y ms nuevos
protocolos.
En cuanto a la administracin los archivos de configuracin de Apache estn en
ASCII, por lo que tiene un formato simple, y pueden ser editados tan solo con un editor
de texto. Estos son transferibles, lo que permite la clonacin efectiva de un servidor. El
servidor puede ser administrado va lnea de comandos, lo que hace la administracin
remota muy conveniente.
Por otra parte se trata de un servidor muy eficiente. Mucho esfuerzo se ha puesto en
optimizar el rendimiento del cdigo C de Apache. Como resultado, este corre rpido
y consume menos recursos de sistema en comparacin a otros servidores. Adems,
Apache corre en una amplia variedad de sistemas operativos, incluyendo varias
versiones de UNIX, Windows9x/NT, MacOS (Sobre Power PC), y varios otros.
El soporte de Apache es provisto por The Apache Group o La Fundacin Apache,
una gran cantidad de usuarios muy dedicados a su comunidad, as como compaas que
ofrecen versiones pagadas de Apache.
Lista de servidores web ms conocidos:
Nombre del Servidor
Apache

BadBlue

Confidencial

Sistema operativo
NetWare
OS/2
Unix
Windows 95/98
Windows NT 4.0
Windows 2000
Windows 95/98
Windows ME
Windows NT 4.0
Windows XP
FISI-UNMSM
2011

Pg. 8

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Baikonur Web App Server


Java Server

Jigsaw

Microsoft Internet Information


Services
RapidSite

RomPager Embedded Web


Server
Roxen WebServer

Sambar Server

Savant

Servertec Internet Server

Confidencial

Modificado
11/12/2011

Windows 95/98
Windows NT 4.0
HP-UX
IRIX
Linux
OS/2
Solaris
Windows 95/98
Windows NT 4.0
Java_VM
Solaris
Windows 95/98
Windows NT 4.0
Windows Server 2003
BSD
IRIX
Windows 2000
Windows Server 2003
Embedded
Linux
MacOS X Server
Solaris
Windows 2000
Windows Server 2003
Windows XP
Red Hat Linux
Windows 2000
Windows 95/98
Windows ME
Windows NT 4.0
Windows Server 2003
Windows XP
Windows 2000
Windows 95/98
Windows ME
Windows NT 4.0
AIX
HP-UX
Linux
Solaris
Windows 2000
Windows 95/98
Windows ME

FISI-UNMSM
2011

Pg. 9

Sistema de Control de una aplicacin web


Controlador difuso

Shadow Web Server


SimpleServer:WWW

Sun Java System Web Server

Tcl Web Server

2.4

Versin:
Fecha:

Modificado
11/12/2011

Windows NT 4.0
Windows Server 2003
Windows XP
MVS
Windows 2000
Windows 95/98
Windows ME
Windows NT 4.0
Windows XP
Red Hat Linux
Solaris
Windows 2000
Windows XP
Linux
MacOS
Unix
Windows NT 4.0

E-commerce
El Comercio Electrnico o E-Commerce consiste principalmente en la distribucin,
compra, venta, marketing y suministro de informacin de productos o servicios a
travs de Internet. Poder tener nuestro negocio disponible en Internet las 24 horas del
da y accesible desde cualquier parte del mundo, se ha convertido hoy en una
herramienta fundamental para potenciar las ventas de las empresas.
En pocas palabras el e-commerce es la compra venta de productos (transaccin) a
travs de medios electrnicos en concreto del internet y de la plataforma web.

2.4.1 Historia del e-commerce


El significado del trmino "comercio electrnico" ha cambiado a lo largo del tiempo.
Originariamente, "comercio electrnico" significaba la facilitacin de transacciones
comerciales electrnicas, normalmente utilizando tecnologa como la Electronic Data
Exchange (EDI, presentada finales de los aos 70) para enviar documentos como
pedidos de compra o facturas. Ms tarde pas a incluir actividades ms precisamente
denominadas "Comercio en la red" la compra de bienes y servicios a travs de la
World Wide Web va servidores seguros (como ser HTTPS, un protocolo de servidor
especial que encripta la realizacin confidencial de pedidos para la proteccin de los
consumidores y los datos de la organizacin) con tarjetas de compra electrnica y con
servicios de pago electrnico como autorizaciones para tarjeta de crdito.
2.4.2 Clases de e-commerce
Se diferencia al comercio electrnico directo (que, por referirse a bienes o servicios
Confidencial

FISI-UNMSM
2011

Pg. 10

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

digitales, se concreta y ejecuta completamente por va informtica)


del indirecto (referido a bienes o servicios fsicos que aun cuando permitan una
celebracin por medios tecnolgicos, requieren del medio fsico tradicional para su
cumplimiento). Tambin se suele categorizar en comercio electrnico de empresa a
empresa (B2B), de empresa a consumidor (B2C), de consumidor a
consumidor (C2C) o entre empresa y Gobierno (B2G).
2.4.3 Factores claves de xito en e-commerce
Varios factores han tenido un importante papel en el xito de las empresas de comercio
electrnico. Entre ellos se encuentran:
Proporcionar valor al cliente. Los vendedores pueden conseguirlo ofreciendo
un producto o una lnea de producto que atraiga clientes potenciales a un precio
competitivo al igual que suceden en un entorno no electrnico.
Proporcionar servicio y ejecucin. Ofrecimiento de una experiencia de compra
amigable, interactiva tal como se podra alcanzar en una situacin cara a cara.
Proporcionar una pgina web atractiva. El uso de colores, grficos, animacin,
fotografas y distintas tipografas puede aumentar el xito en este sentido.
Proporcionar un incentivo para los consumidores para comprar y retornar. Las
promociones de ventas pueden incluir cupones, ofertas especiales y descuentos.
Las webs unidas por links y los programas de publicidad pueden ayudar en este
aspecto.
Proporcionar atencin personal. Webs personalizadas, sugerencias de compra y
ofertas especiales personalizadas pueden allanar el camino de sustituir el
contacto personal que se puede encontrar en un punto de venta tradicional.
Proporcionar un sentido de comunidad. Las reas de chat, foros, registracin
de clientes, esquemas de fidelizacin y programas de afinidad pueden ayudar.
Proporcionar confianza y seguridad. Servidores paralelos, redundancia de
hardware, tecnologa de seguridad ante fallas, inscripcin de la informacin y
firewalls lograrn que su e-commerce funcione en todo momento, logrando
crear una imagen de solidez en sus clientes.
Poseer la experiencia total del consumidor. Esto se consigue tratando al
consumidor como parte de una gran experiencia, con lo cual se mejora la
percepcin de su marca respecto de sus competidores.
Optimizando los procesos de negocio, posiblemente a travs de tecnologas de
reingeniera de la informacin.
Confidencial

FISI-UNMSM
2011

Pg. 11

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Dejando que los consumidores se ayuden a s mismos. Proporcionando sistemas


de autoayuda sin asistencia puede ayudar en este sentido.
Ayudar a los consumidores a hacer el trabajo de consumir. Los vendedores
pueden proporcionar esta ayuda ampliando la informacin comparativa y las
bsquedas de producto. La provisin de informacin de componentes y
comentarios de seguridad e higiene puede ayudar a los minoristas a definir el
trabajo del comprador.
Construir un modelo de negocios slido. Si este factor clave hubiera aparecido
en los libros de texto en ao 2000, muchas compaas 'punto com' no habran
quebrado.
Crear una cadena de valor aadido en la que uno se orienta a un nmero
'limitado' de competencias clave. (Las tiendas electrnicas pueden presentarse
bien como especialistas o como generalistas).
Operar en o cerca del lmite de la tecnologa y permanecer all mientras la
tecnologa sigue cambiando (pero recordando que los principios fundamentales
del comercio se mantienen indiferentes a la tecnologa).
Construir una organizacin con suficiente agilidad y sistemas de alerta para
responder rpidamente a los cambios en el entorno econmico, social y fsico
de una empresa.
Es por ello necesario implementar un controlador de servidor web para que soporte
todas las transacciones generadas por el e-commerce para tener una buena performance
en el servicio a los clientes.
3
3.1

Estado del arte


Taxonoma
Un sistema de control es el tipo de sistema que se caracteriza por la presencia de una
serie de elementos que permiten influir en el funcionamiento de un sistema. La
finalidad de un sistema de control es conseguir, mediante la manipulacin de las
variables de control, un dominio sobre las variables de salida, de modo que estas
alcancen unos valores prefijados (consigna).
El tipo de sistema de control que estamos usando es uno basado en el nmero de
entradas y salidas. Muchas empresas en estos das necesitan optimizar las salidas
(outputs) y entradas (inputs) de los sistemas que utilizan para optimizar su
rendimiento

Confidencial

FISI-UNMSM
2011

Pg. 12

Sistema de Control de una aplicacin web


Controlador difuso

3.2

Versin:
Fecha:

Modificado
11/12/2011

Sistema usado
El sistema que estamos usando es el SISO (single input single output). Nuestra
entrada es el nmero de clientes. El cual ser configurado en el Apache Server y en
nuestro software para la prueba de stress (JMeter). Y la salida ser el tiempo de
respuesta del servidor Apache a las peticiones de cada cliente.

3.3

Modelo matemtico
El nmero de mtodos disponibles para ayudar en la construccin de un modelo que
ayude a capturar las relaciones entre las entradas del controlador y las salidas del
sistema. Nosotros escogeremos ajustar los datos a un modelo ARX.

3.4

Mtodos
La metodologa de trabajo que hemos utilizado se basa en el esquema de la figura 2.1
Sistema de control de lazo cerrado.
Primero definimos el servidor a utilizar, en nuestro caso Apache server

Elegimos que aplicacin E-Comerce utilizaremos para que trabaje con el


servidor web, en nuestro caso elegimos el Oscommerce.

Analizamos el funcionamiento de dicho servidor.

Como consecuencia de lo anterior, definimos las variables de entrada y salida,


en nuestro caso los inputs son MC (Max-Clients) y N (nmero de clientes) y el
output es los TR (tiempos de respuesta).

Obtencion de las variables:

3.5

Configuramos el servidor para que muestre los tiempos de


respuesta.

Usar un Motor de carga de trabajo para simular las peticiones al


servidor mediante la aplicacin web (oscomerce).

Generar el modelo matemtico para definir el controlador, a partir de las


variaciones del MC y TR.

Software relacionado

JMeter: es un software opensource, una aplicacin hecho 100% en Java. Es una


prueba de herramienta de carga para medir el comportamiento y el rendimiento. En

Confidencial

FISI-UNMSM
2011

Pg. 13

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

un principio fue diseado para testar aplicaciones webs pero en la actualidad su


funcionalidad se ha expandido. Con esto software hacemos la simulacin de la
carga de usuarios, previa configuracin del apache, que entran al servidor. Luego a
travs de grficas, que el mismo software provee, procedemos a ver el desempeo
de las respuestas del servidor.
Oscommerce: es un aplicativo web opensource de comercio electrnico (ecommerce) hecho en PHP. Este es el aplicativo que se subir al servidor para poder
hacer las pruebas de stress con el JMeter
Apache Server: es el servidor web HTTP que estamos utilizando. Este software
tambin es opensource. En este servidor se harn las configuraciones respectivas del
nmero de clientes para luego poder efectuar las pruebas de stress con el JMeter.

Resolucin del problema aplicando la tcnica seleccionada


El problema en este caso que los servidores de aplicacin web como apache v2.2, no
tienen un control automtico de la cantidad de peticiones de acuerdo a los recursos
existentes en el servidor, en consecuencia debe existir un administrador del servidor
que est cambiando de manera manual los valores de la cantidad mxima de clientes
MaxClients, esto hace que existan en algunos casos una cantidad de peticiones por
encima del MaxClients y como resultado un tiempo de respuesta alta y una mala
calidad de los servicios. Ser resuelto usando el modelo matemtico, que por cierto
derivar a partir de la informacin del archivo log del servidor apache.

4.1

El modelo matemtico del servidor apache


Pero antes de todo debemos configurar el apache.

4.1.1 Configuracin del servidor apache


Una vez hecha la instalacin del servidor apache, se debe proceder a configurar el log.
Para ello abrimos el archivo httpd.conf que se encuentra en la carpeta conf dentro del
apache, esto con la intencin de que el log registre el tiempo de respuesta del servidor
en la primera columna del archivo en cuestin.

Confidencial

FISI-UNMSM
2011

Pg. 14

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Donde los parmetros indican:


LogFormat: Configura el formato para los archivos de registro del servidor Web.
D: tiempos de respuesta los cuales se encuentran en milisegundos
%h: direccin IP del host remoto o nombre de la mquina cliente.
%t: Lista la fecha y hora de la solicitud.
%r: Lista la cadena de la solicitud exactamente como viene del navegador o cliente.
%s: Lista el estado de cdigo HTTP el cual fue devuelto al host cliente.
Una vez hecha la configuracin anterior colocamos CustomLog "logs/access.log"
especial en lugar de CustomLog "logs/access.log" common

Confidencial

FISI-UNMSM
2011

Pg. 15

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Tambin se guarda aplicacin del e-commerce en la carpeta htdocs.


El resultado de log es el siguiente: el cual muestra en la primera columna el tiempo en
milisegundos de respuesta de cada peticin de las cargas de trabajo generados por el
software JMETER.

4.1.2

Experimento con el generador de carga de trabajo JMETER

Para llegar a nuestro modelo matemtico, al no haber uno establecido que sigue las
leyes fsicas se tiene que proceder a simular eventos de peticin a nuestra aplicacin de
e-commerce para tener cierta cantidad de informacin estadstica de los tiempos de
respuesta para cada configuracin del MaxClients.en esta parte describiremos los
procedimientos que se han seguido.
4.1.2.1 Equipos de software y hardware para el experimento.
Nuestros equipos que hemos usados consiste en una pc de escritorio cuyas
caractersticas son procesador Intel core i5 2.3 Ghz con 4GB de memoria RAM con el
sistema operativo Windows en la que est corriendo el servidor web apache con la
aplicacin de e-commerce y otra mquina que acta como cliente en la que se
encuentra el JMETER para el envo de peticiones al servidor.
Confidencial

FISI-UNMSM
2011

Pg. 16

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

4.1.2.2 Determinacin del MaxClients


El MaxClients se determinara con la siguiente frmula matemtica:
=

La memoria usada en la PC que hemos asignado para que funcione el servidor apache
consume un total de 2.38 GB de memoria RAM, el proceso apache consume en
promedio 20MB de RAM, entonces reemplazando en la formula se tiene el valor de
MaxClients

= 85

Descripcin de la solucin tecnolgica


Las herramientas usadas en la solucin del problema son principalmente el servidor
apache v2.2 y el generador de carga de trabajo JMETER.
Servidor apache, esta herramienta soportara el correcto funcionamiento de nuestra
aplicacin de e-commerce y permitir atender las peticiones de los clientes cuando
realizan las transacciones en lnea.

Confidencial

FISI-UNMSM
2011

Pg. 17

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Apache JMeter es un software de cdigo abierto, un 100% puro Java aplicacin de


escritorio diseado para cargar el comportamiento de pruebas funcionales y medir el
desempeo. Originalmente fue diseado para probar las aplicaciones web, pero desde
entonces ha ampliado a las funciones de prueba (definicin dada por apache). El
JMETER hace el bombardeo de peticiones simulando como si fuera un entorno real
hecho por clientes esto con la intencin de analizar y medir el desempeo del servidr
apache v2.2.
MATBLAB. Es un software matemtico que proporciona un entorno integrado de
desarrollo, el cual nos permitir obtener el modelo matemtico a partir de los datos del
archivo log en la que se ha almacenado el tiempo de respuesta del servidor para cada
MaxClients.
5.1

Pruebas con el JMETER


Primero descargar el apache hhtp server de la pgina oficial de apache que es el
siguientes http://httpd.apache.org/

Apache HTTP Server. El proyecto Apache HTTP Server es un esfuerzo para


desarrollar y mantener un servidor HTTP de cdigo abierto para sistemas operativos
modernos, incluyendo UNIX y Windows NT. El objetivo de este proyecto es
proporcionar un servidor seguro, eficiente y extensible que proporciona servicios de
HTTP en sincrona con los estndares HTTP actuales.
Servidor web Apache es el servidor web ms popular en Internet desde abril de 1996, y
celebr su cumpleaos nmero 15 como un proyecto de este mes de febrero.
El Apache HTTP Server (httpd) es un proyecto de la fundacin The Apache Software
Confidencial

FISI-UNMSM
2011

Pg. 18

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Foundation.

Descargaremos la versin estable del software


Hacer clic en descargar versin estable

Vemos que se est descargando el apache

Una vez descargada el apache ahora prosigamos a instalar, para luego colocar en ella
una aplicacin de e-commerce.
Confidencial

FISI-UNMSM
2011

Pg. 19

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Instalacin del Apache HTTP Server


Para ello primero descomprimimos el contenido del paquete winrar descargado

Una vez descomprimido el archivo procedemos a instalar.

Hacer clic en ejecutar

Confidencial

FISI-UNMSM
2011

Pg. 20

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Siguiente

Siguiente

Confidencial

FISI-UNMSM
2011

Pg. 21

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Siguiente

Confidencial

FISI-UNMSM
2011

Pg. 22

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Siguiente

Siguiente

Funciona!!

Confidencial

FISI-UNMSM
2011

Pg. 23

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Ahora vamos a instalar una aplicacin de comercio electrnico

Ahora vamos instalar la aplicacin de comercio electrnico


Oscommerce

Abrimos en el navegador en la direccin http:/localhost/oscommerce


Confidencial

FISI-UNMSM
2011

Pg. 24

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Hacemos clic en catalogo para proseguir con la instalacin

Luego nos aparece la siguiente pgina

Confidencial

FISI-UNMSM
2011

Pg. 25

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Luego vamos configurar el nombre del servidor (localhost)


Tambin el nombre de usuario de la base de datos y la contrasea tambin el nombre
de la base de datos para nuestra aplicacin

Siguiente

Confidencial

FISI-UNMSM
2011

Pg. 26

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Tambin ponemos el nombre de nuestra tienda

Luego de haber instalado nos podemos logear como administrador para configurar
algunas coas.

Confidencial

FISI-UNMSM
2011

Pg. 27

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Este es el panel del administrador

Este es el panel del cliente

Confidencial

FISI-UNMSM
2011

Pg. 28

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Descaragar JMeter
Para ello accedemos a la pgina oficial de apache jakarta un proyecto open source
http://jakarta.apache.org/

Fundada en 1999, el Proyecto de Yakarta encuentra un conjunto diverso de populares


soluciones de cdigo abierto de Java.En 2005, como parte de la creacin de un plano
de Apache Software Foundation, los subproyectos de Yakarta comenz a llenarse de
alto nivel de proyectos de Apache. Este proceso ha continuado hasta nuestros das,
todos los subproyectos que ya han abandonado el proyecto de Yakarta para convertirse
en proyectos de alto nivel, se unen otros TLP (Comunes), o en algunos casos se retir
estado.

Confidencial

FISI-UNMSM
2011

Pg. 29

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Para descargar nos direcciona a la siguiente pagina http://jmeter.apache.org/

Descripcin. El Apache JMeter aplicacin de escritorio es un software de cdigo


abierto, una aplicacin 100% puro Java diseado para cargar el comportamiento de las
pruebas funcionales y medir el desempeo. Originalmente fue diseado para probar las
aplicaciones web, pero desde entonces ha ampliado las funciones de prueba.
Qu puedo hacer con l?
Apache JMeter se puede utilizar para probar el rendimiento, tanto en recursos estticos
Confidencial

FISI-UNMSM
2011

Pg. 30

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

y dinmicos (archivos, Servlets, scripts de Perl, objetos Java, bases de datos y


consultas, servidores FTP y mucho ms). Se puede utilizar para simular una carga
pesada en un servidor, red o un objeto para poner a prueba su resistencia o para
analizar el rendimiento general en diferentes tipos de carga. Puede usarlo para hacer un
anlisis grfico de rendimiento o para probar su servidor / script / comportamiento del
objeto con carga pesada concurrentes.
Qu hacer?
Apache JMeter caractersticas incluyen:
Puede cargar y rendimiento de la prueba muchos tipos de servidores diferentes:
Web - HTTP, HTTPS
Base de datos a travs de JDBC
LDAP
JMS
Correo electrnico - POP3 (S) e IMAP (S)
Portabilidad completa y 100% de pureza Java.
Completo multithreading marco de muestreo permite concurrentes por muchos hilos y
muestreo simultneo de las funciones de diferentes grupos de hilo separado.
Cuidado GUI diseo permite un funcionamiento ms rpido y los tiempos ms
precisos.
El almacenamiento en cach sin conexin y anlisis / repeticin de resultados de la
prueba.
Altamente flexible.
Samplers conectables permiten capacidades ilimitadas de la prueba.
Varias estadsticas de carga puede ser elegido con temporizadores conectable .
Anlisis de datos y complementos de visualizacin permiten extensibilidad grandes, as
como de personalizacin.
Funciones se pueden utilizar para proporcionar informacin dinmica a una prueba o
proporcionar la manipulacin de datos.
Muestras de secuencias de comandos (BeanShell es totalmente compatible, y hay un
sampler que apoya BSF compatible con los idiomas)
JMeter no es un navegador.
JMeter no es un navegador. En cuanto a servicios web y servicios a distancia se refiere,
JMeter se parece a un navegador (o, mejor dicho, varios navegadores), pero JMeter no
lleva a cabo todas las acciones apoyadas por los navegadores. En particular, JMeter no
ejecuta el Javascript en pginas HTML.Tampoco se hacen las pginas HTML en un
Confidencial

FISI-UNMSM
2011

Pg. 31

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

navegador (es posible ver la respuesta, como HTML, etc, pero los tiempos no estn
incluidos en ninguna de las muestras, y slo una muestra de un hilo cada vez es visto a
la vez).

Configuracin del apache


Primero configuremos el log del apache para poder mostrar en la primera columna del
archivo los tiempos de respuesta

Configuracin previa del log de apache


Luego colocamos LogFormat %D %h %t \ %r \ %>S especial dentro de
<IfModule log_config_module> despus, cambiamos: #CustomLog "logs/access.log"
common por CustomLog wamp/logs/access.log" especial

Confidencial

FISI-UNMSM
2011

Pg. 32

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Ejecucion del JMeter


Primera iteracin
Plan de pruebas dar clic en Plan de Pruebas luego Aadir Hilos y agregar Grupo de
Hilos

Luego se muestra la siguiente pantalla

Confidencial

FISI-UNMSM
2011

Pg. 33

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Segn el cuadro de cantidad de usuarios entrando al servidor el valor de Nmero


de Hilos es 5, los cuales se mantienen inalterables durante toda la iteracin.

Luego damos check en Planificador para configurar

En tiempo de arranque colocamos la hora del sistema en que vamos a lanzar la


simulacin no puede ser cualquier hora, ya que no se ejecutar la simulacin.
El tiempo de finalizacin no importa.
En duracin colocamos 30, ya que es el tiempo en que debemos de cambiar el valor de
maxclients.
Confidencial

FISI-UNMSM
2011

Pg. 34

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

MaxClients. El comando MaxClients establece un lmite al total de los procesos del


servidor (es decir, clientes conectados simultneamente) que se ejecutan a la vez. Debe
mantener el comando MaxClients a un valor alto (el valor por defecto es 150), porque
no se permitirn nuevas conexiones una vez que se alcance el nmero mximo de
clientes simultneamente conectados. El valor del comando MaxClients no puede
superar el 256 sin que se haya recompilado Apache. La principal razn de tener el
parmetro MaxClients es evitar que un servidor errtico vuelva inestable al sistema
operativo.

Luego de 30 segundos, cambiamos el valor de Threads y reiniciamos el apache, luego


veremos cmo implementar el script que automatiza este proceso.
En Jmeter, seleccionamos Grupo de Hilos, hacemos click derecho, seleccionamos
Aadir, Elemento de Configuracin, Valores por Defecto para Peticion HTTP:

Luego agregamos la siguiente informacin en Valores por Defecto para Peticion HTTP
(HTTP Request Defaults):
Nombre del Servidor o IP: localhost
Confidencial

FISI-UNMSM
2011

Pg. 35

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

El siguiente paso es aadir las Peticiones HTTP para cada una de las pginas que
integran la pgina web, en este caso nuestra pgina web tiene varias pginas agrupadas
en categoras: hardware, software, DVD Movies, Gadgets. Que a su vez hay
subcategoras.

A continuacin una Peticin HTTP para la pgina tiendita_control, para la dems


paginas es igual solo se le cambia el valor de Path que es la direccin de cada pgina.
En Jmeter, seleccionamos Grupo de Hilos, hacemos click derecho, seleccionamos
Confidencial

FISI-UNMSM
2011

Pg. 36

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Aadir, Muestreador, Peticin HTTP.

Luego, agregamos la siguiente informacion en Peticin HTTP:


Nombre: tiendita_control
Path: /oscommerce/catalog/index.php

Para las otras pginas, como ya dijimos, se efecta el mismo procedimiento, solo se
cambia el valor de Path, que son las direcciones de cada pgina. A continuacin,
damos el Path de la dems pginas:
Hardware
/oscommerce/catalog/index.php?cPath=1
Software /oscommerce/catalog/index.php?cPath=2
Confidencial

FISI-UNMSM
2011

Pg. 37

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Por ltimo, podemos agregar el elemento Listener llamado Statistical Aggregate


Report para tener una mejor visibilidad del tiempo de respuesta, teniendo en cuenta
que el clculo exacto lo har el Sensor software del que hablaremos ms adelante. Esta
funcionalidad no se encuentra dentro del JMETER original sino que es un plugin, que
se puede descargar de: http://pierfinazzi.wordpress.com/tag/jmeter/
Una vez descargado se descomprime y se guarda en la carpeta lib de JMeter

Una vez descargada el plugin se procede a cerrar el JMeter y volver a reiniciar.

Confidencial

FISI-UNMSM
2011

Pg. 38

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Se muestra la siguiente imagen con el plugin, donde se ira graficando lo de las


peticiones.

Ahora, ya estamos listos para llevar a cabo la ejecucin, vamos al men Lanzar y
escogemos Arrancar
Para Maxclients = 45

Confidencial

FISI-UNMSM
2011

Pg. 39

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Este es el grafico de las peticiones cuando el MaxClients es 45

Reiniciamos el apache y cambiamos el valor de Maxclients = 56

Confidencial

FISI-UNMSM
2011

Pg. 40

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Reiniciamos el apache y cambiamos el valor de Maxclients =65

Confidencial

FISI-UNMSM
2011

Pg. 41

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Reiniciamos el apache y cambiamos el valor de Maxclients =73

Reiniciamos el apache y cambiamos el valor de Maxclients =80

Confidencial

FISI-UNMSM
2011

Pg. 42

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Reiniciamos el apache y cambiamos el valor de Maxclients =85

Bueno no pondremos todas las corridas en el informe pero se seguir para obtener la
mayor cantidad de data que sea posible para tener un buen modelo.
Confidencial

FISI-UNMSM
2011

Pg. 43

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Ya en los siguientes recuadros tenemos la data importada en Excel y algunas graficas


previas.
Estos datos que se observa en la vista de resultados en rbol del JMeter, estos datos
sern llevados al Excel para sacar el promedio por cada corrida y maxclients

Confidencial

FISI-UNMSM
2011

Pg. 44

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Una vez que tenemos todos los tiempos de respuesta promedio, consolidamos esos
datos y realizamos una grfica para ver el comportamiento del tiempo de respuesta
promedio con respecto al tiempo.
T (Periodo)

600
t
0
30
60
90
120
150
180
210
240
270
300
330
360
390
420
450
480
510
540
570
600

2PI*t /T
maxclients
0
45
0.31415927
56
0.62831853
65
0.9424778
73
1.25663706
80
1.57079633
85
1.88495559
80
2.19911486
73
2.51327412
65
2.82743339
56
3.14159265
45
3.45575192
34
3.76991118
25
4.08407045
17
4.39822972
10
4.71238898
5
5.02654825
10
5.34070751
17
5.65486678
25
5.96902604
34
6.28318531
45

Grefico de MaxClients Vs Tiempo

Confidencial

FISI-UNMSM
2011

Pg. 45

960
25
82
990
27
43
1020
10
16
Sistema de Control de una aplicacin web
Versin:
Modificado
1050
5
8
Controlador difuso
Fecha:
11/12/2011
1080
10
20
1110
17
42
tiempo de82respuesta
1140
25
tiempo de respuesta
tiempo (s) maxclients
tiempo (s) maxclients
promedio
1170
34
143 (ms)
promedio (ms)
0
45
190
1200
195
0
45
190
30
56
221
1230
30
56
221
60
65
259
1260
60
65
259
90
73
298
1290
90
73
298
120
80
338
1320
120
80
338
150
85
372
1350
378
150
85
372
180
80
342
1380
180
80
342
210
73
295
1410
301
210
73
295
240
65
255
1440
254
240
65
255
270
56
223
1470
233
270
56
223
300
45
192
1500
200
300
45
192
330
34
145
1530
146
330
34
145
360
25
80
1560
78
360
25
80
390
27
41
1590
390
27
41
420
10
15
1620
420
10
15
450
5
69
1650
450
5
6
480
10
17
1680
480
10
17
510
17
45
1710
510
17
45
540
25
82
1740
540
25
82
570
34
143
1770
570
34
143
600
45
193
1800
190
600
45
193
630
56
222
1830
221
630
56
222
660
65
257
1860
259
660
65
257
690
73
300
1890
298
690
73
300
720
80
337
1920
338
720
80
337
750
85
370
1950
372
750
85
370
780
80
340
1980
342
780
80
340
810
73
300
2010
295
810
73
300
840
65
257
2040
255
840
65
257
870
56
223
2070
870
56
223
900
45
192
2100
900
45
192
930
34
146
2130
145
930
34
146
960
25
82
2160
83
960
25
82
990
27
43
2190
41
990
27
43
1020
10
16
2220
15
1020
10
16
1050
5
85
2250
1050
5
8
1080
10
20
2280
17
1080
10
20
1110
17
42
2310
45
1110
17
42
1140
25
82
2340
1140
25
82
1170
34
143
2370
1170
34
143
1200
45
195
2400
189
1200
45
195
1230
56
221
1230
56
221
1260
65
259
1260
65
259
1290
73
298
1290
73
298 FISI-UNMSM
Confidencial
Pg. 46
1320
80
338
2011
1320
80
338
1350
85
378
1350
85
378
1380
80
342
1380
80
342
1410
73
301
1410
73
301

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Grfico: MaxClients Vs Tiempo

Grafico tiempo de respuesta Vs Tiempo


Observacin: Usamos Maxclients pero del verdadero nombre vendra a ser
ThreadsPerChild que esta directa es propia del MPM_WINNT que pertenece al
sistema operativo Windows; mientras que MaxClients es una directa del
MPM_PREFORK, propio del sistema operativo LINUX.
Seguidamente, calculamos el nmero de iteraciones o corridas y la cantidad de
usuarios que querrn acceder al sistema: (como prueba consideramos 6 iteraciones)

N CORRIDA

1
2
3
4
5
6
Confidencial

CANT
USUARIOS
ENTRANDO
AL
SERVIDOR
5
17
34
56
73
85

FISI-UNMSM
2011

Pg. 47

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Construccin del modelo matemtico


Para la construccin del modelo matemtico usaremos los datos de las simulaciones
con el JMeter.
Para lo cual usaremos en el MatLab el comando ident para ingresar al SYSTEM
IDENTIFICATION TOOL del MatLab
Input =MaxClients
Output= Tiempo de respuesta

Para importar elegimos la opcin time domian data, para usar las variables que se han
creado

En la ventana siguiente indicamos las variables, para continuar con el proceso de


generacin del modelo matemtico
Confidencial

FISI-UNMSM
2011

Pg. 48

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

La data ya se encuentra cargadas en el sistema.

Confidencial

FISI-UNMSM
2011

Pg. 49

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Continuando no aparece el siguiente grfico.

En la figura u1es la variable de entrada MaxClients, ya que el valor mximo de la


variable es 85 (de acuerdo a los datos obtenidos).
La variable y1 es la variable de salida Tiempo de Respuesta, ya que el valor mximo
de esta variable es 378 (de acuerdo a los datos obtenidos).

Confidencial

FISI-UNMSM
2011

Pg. 50

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

En seguida seleccionamos Linear Parametrics Model de la herramienta.

Configuramos de la siguiente manera na=2, nb=2 y nk=3, de acuerdo al tutorial que


envi el profe.

El resultado es el siguiente grafico al hacer doble clic sobre la grfica en el color verde
que es ARX223

Confidencial

FISI-UNMSM
2011

Pg. 51

Sistema de Control de una aplicacin web


Controlador difuso

Confidencial

Versin:
Fecha:

FISI-UNMSM
2011

Modificado
11/12/2011

Pg. 52

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Y al seleccionar la checkbox Output, se verifica el nivel de confianza en este caso del


82.93

Lugo seleccionamos el checkbox Zeros and Poles obtenemos:

Confidencial

FISI-UNMSM
2011

Pg. 53

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Finalmente tenemos el modelo matemtico resultante:

Discrete-time IDPOLY model: A(q)y(t) = B(q)u(t) + e(t)


A(q) = 1 - 1.568 q^-1 + 0.6428 q^-2
B(q) = 0.6429 q^-3 1.037 q^-4
Estimated using ARX fron data set eDat
Loss function 178.351 and FPE 213.151
Sampling interval: 1

Confidencial

FISI-UNMSM
2011

Pg. 54

Sistema de Control de una aplicacin web


Controlador difuso

6.1

Versin:
Fecha:

Modificado
11/12/2011

Diseo del controlador web


Una vez obtenida los datos y el modelo matemtico, ejecutaremos el comando
SISOTOOL del MatLab, en el cual se pasa como parmetros los modelos
matemticos, en el que vamos generar una interfaz, en el cual podemos elegir tipos de
controladores, para nuestro proyecto usaremos el tipo PID.
Seguidamente tenemos los pasos a seguir para la obtencin de la funcin del
controlador.

Herramienta del SISOTOOL (MaxClient Tiempo Respuesta)

Confidencial

FISI-UNMSM
2011

Pg. 55

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Obtener Funcin del Controlador (MaxClient Tiempo Respuesta)


Finalmente, con esta funcin se implement el algoritmo del controlador en NetBeans
en el cual se ha incluido la implementacin con sockets.

Arquitectura mostrada
Confidencial

FISI-UNMSM
2011

Pg. 56

Sistema de Control de una aplicacin web


Controlador difuso

6.2

Versin:
Fecha:

Modificado
11/12/2011

Modelo difuso del controlador


En Toolboxes ingresamos a Fuzzy Logic GUI (fuzzy)

A continuacin nos muestra la siguiente pantalla

Confidencial

FISI-UNMSM
2011

Pg. 57

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Sigue la siguiente ventana. En la que por defecto aparece el modelo Mandani

Procederemos a agregar variables

Confidencial

FISI-UNMSM
2011

Pg. 58

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Para los grados de membreca


Mostramos el primer Input:

Mostramos el segundo input

Confidencial

FISI-UNMSM
2011

Pg. 59

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Mostramos el output

Regresamos a nuestro modelo difuso ahora con 2 Inputs y seleccionamos el bloque


blanco para entrar a la configuracin de reglas:

Confidencial

FISI-UNMSM
2011

Pg. 60

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Aqu se pueden observar los 2 inputs; luego de haber ingresado las reglas, entramos al
men VIEW
Observando nuestro diagrama de reglas, donde podemos personalizar las variables de
entra y de salida.

Confidencial

FISI-UNMSM
2011

Pg. 61

Sistema de Control de una aplicacin web


Controlador difuso

6.3

Versin:
Fecha:

Modificado
11/12/2011

Construccin del controlador difuso

6.3.1 Programacin en java


En este caso usamos el IDE NetBeans para la programacin del controlador difuso, el
cual es una continuacin del diseo hecho en el Matlab.
Para ello hemos creado un proyecto en el NetBeans llamado ControladorDifuso, el cual
consta de 4 paquetes: Conexin, EditorApache, LogicaDifusa y rendimiento. Cada una
de ellas agrupa a diferentes clases que son funcionales y necesarios en cada caso.
Paquete de conexin.
La conexin ser realizada usando Sockets el cual sirve para la implementacin de
flujo de comunicacin de tipo orientado a conexin TCP/IP entre procesos en este caso
el servidor y los clientes.
En el caso del diseo del controlador difuso es importante usar este tipo de clases del
java, pues se necesita que la comunicacin sea orientada a comunicacin TCP/IP pues
tiene que haber una constante comunicacin entre el cliente y el servidor para de esa
manera hacer la simulacin de los procesos de peticiones y poder controlar esas
peticiones. En otro tipo de aplicaciones se pueden usar comunicacin no orientado a
conexin UDP.

Confidencial

FISI-UNMSM
2011

Pg. 62

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Paquete EditorApache.
En este paquete lo que se va hacer es la configuracin del archivo de servidor apache
httpd-mpm.conf en el cual se va modificar el maxClients, desde luego el objetivo del
proyecto es automatizar esta tarea que venamos haciendo de manera manual apagando
el servidor luego modificando en archivo en cuestin y encender el servidor, pero con
este controlador esto ser de manera automtica.

Paquete LogicaDifusa.
A que se tiene la clase LogicaDifusa generado de manera automtica por el software
FuzzyTech, en el que previamente se ha hecho todo el proceso de configuracin de las
expresiones lingsticas.

Confidencial

FISI-UNMSM
2011

Pg. 63

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Paquete de rendimiento.
Por ultimo tenemos el paquete de rendimiento, el cual contiene una serie de clases que
nos permite extraer la disponibilidad de los recurso donde se encuentra funcionando el
servidor, para obtener de esa forma una informacin oportuna necesaria y completa
para tener que calcular el maxClients para luego configurar en el apache esto en el
paquete EditorApache.

6.3.2 Ejecucin del controlador


En el siguiente grafico se observa la corrida de la parte servidor del controlador. En la
cual aparece un mensaje esperando una conexin. El cual nos indica que est en
Confidencial

FISI-UNMSM
2011

Pg. 64

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

ejecucin.

Aqu tenemos el controlador por el lado del cliente que se est conectando al servidor,
al final aparece un mensaje el cual nos indica que la conexin se llev acabo de manera
exitosa.

A continuacin se observa los dos mdulos tanto por parte del servidor como por el
lado del cliente.

Confidencial

FISI-UNMSM
2011

Pg. 65

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

En la imagen siguiente se observa la interaccin constante del servidor con el cliente,


en la que el primero le enva en cada instante la actualizacin de los recursos
disponibles y del maxClients.

Para la modificacin del archivo http-mpm.conf se tiene la ruta especificada en el


cdigo, en la cual ara la modificacin con el maxClients que se observa en cada cierto
tiempo segn eventos que va ocurriendo el recurso donde est el servidor.

Confidencial

FISI-UNMSM
2011

Pg. 66

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Para comprobar vamos al archivo http-mpm.conf.

Una vez abierta el archivo se observa la veracidad de la modificacin.


Confidencial

FISI-UNMSM
2011

Pg. 67

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Conclusiones y trabajos futuros


El trabajo principalmente consiste en la implementacin de un controlador de un
servidor web, el cual hace que el sistema funcione de manera automtica o en su
defecto con la mnima intervencin humana. Es por ello que se tuvo que hacer las
simulaciones necesarias para que podemos determinar cul es el modelo que sigue el
funcionamiento de un sistema web a travs de cargas de trabajo, los cuales eran
generados por un software de simulacin como el JMETER.
Tambin fue un trabajo en la que descubrimos que como se puede usar la teora de
control que ya han sido usados en otras reas de la ingeniera en el rea de la
computacin.
El trabajo fue una oportunidad muy interesante porque nos permiti aprender a usar la
teora del control para hacer un modelo de control para un aplicacin de comercio
electrnico, el cual empesamos con la descarga de las herramientas en este caso el
apache, para el comercio electrnico una herramienta suite que integra el apache, php,
mysql el wampp.
Luego descargamos una aplicacin de comercio electrnico el osCommerce el cual es
un manejador de comercio electrnico, despus descargamos el JMeter para hacer las
corridas necesaria para tener la data para el modelo matemtico, pero antes se
configur el apache para capturar los tiempos de respuesta de las peticiones de la
herramienta generadora de las cargas de trabajo. Tambin se configuro el maxclients a
partir del clculo como mximo de 85 clientes.
Una vez hecho todo lo mencionado se procedi a obtener la data del log para subir al

Confidencial

FISI-UNMSM
2011

Pg. 68

Sistema de Control de una aplicacin web


Controlador difuso

Versin:
Fecha:

Modificado
11/12/2011

Excel para luego usar en la elaboracin del modelo en el matlab y all se gener el
modelo matemtico, seguidamente el modelo fuzzy.
8

Referencias bibliogrficas
OGATA K., "Ingeniera de Control Moderna", Prentice Hall Hisp., 1991.
KUO B., "Sistemas de Control Automtico", Prentice Hall Hisp., 1996.
CANALES R., BARRERA R., "Introduccin a sistemas dinmicos y control
automtico", Wiley.
FRANKLIN G., POWELL J.D., EMMAMI-NAEINI, "Control de sistemas dinmicos
con retroalimentacin", Addison Wesley Hisp., 1991.
STRM R. WITTENMARK B., "Sistemas controlados por computador", Paraninfo,
1988.
PHILLIPS L., NAGLE H.T., "Digital Control Systems, Analysis and Design", Prentice
Hall, 1984.

Confidencial

FISI-UNMSM
2011

Pg. 69