Practica Final

Evaluación de ordenadores como servidores HTTP



Servidor Saturado from LP-Spain on Vimeo.



Objetivo de la evaluación



En la web de la Paqui han aumentado drásticamente las visitas, el servidor web que actualmente tenemos no es capaz de aguantar semejante carga y se encuentra totalmente saturado. Asimismo tenemos disponibles varias maquinas para montar este servidor web (El famoso MEGA3, el GIGA4 y el Ogabanis (agradecimientos a Alberto Ogaban por la colaboración) ).

El objetivo es encontrar el sistema para el servidor web (que hará uso de BD) que pueda procesar el mayor número de peticiones sirviéndolas en un tiempo razonable.


El servicio del sistema es actuar de servidor web. El servidor web se compone de un servidor Apache2 con soporte para PHP5 y otro servidor MySQL 5.0. Un resultado válido para el sistema sería servir la página web.


Las métricas que usaremos serán:
  • Número de páginas servidas por segundo

  • Tiempo en servir una página (en ms)

  • La relación entre páginas servidas por segundo y el tiempo en servir una página (o como lo denomino: factor de carga veloz).



Los parámetros que pueden afectar a las prestaciones son: ejecuciones paralelas de otros programas o servicios del sistema, número de peticiones que se están atendiendo en un mismo momento, número total de peticiones y carga de la red


El factor a estudiar será la media por peticiones simultaneas del factor de carga veloz (el factor de carga veloz es la relación entre páginas cargadas por segundo y la media de tiempo de carga de estas páginas), este valor se trata de una estimación.


La técnica de evaluación se hará como medición de un sistema real mediante la herramienta Apache Benchmark. Para las distintas evaluaciones esta herramienta se ejecutará siempre en una maquina que no forma parte del sistema y que esta bajo la misma red local de 100Mbps que el sistema a evaluar. Haciéndolo de este modo tenemos aislado el servidor del programa de bechmark de modo que este no puede afectar a las mediciones, aunque sabemos que las condiciones de la red si pueden afectar a las mediciones pero... es un servidor web!, se conoce que esto es más aproximado a una situación real.


La técnica de evaluación es medición


La carga de trabajo a la que se va a someter cada sistema es a:
  • 10 peticiones simultaneas para un número de peticiones totales de 500, 1000, 1500 y 2000

  • 50 peticiones simultaneas para un número de peticiones totales de 500, 1000, 1500 y 2000

  • 100 peticiones simultaneas para un número de peticiones totales de 500, 1000, 1500 y 2000



Diseño del experimento



El experimento se centra en una de las webs de la Paqui que más cargan y que, asimismo, más carga genera sobre el servidor: la portada de su blog, de modo que lo primero que definimos es que todos los experimentos se van a centrar en la carga del blog de la Paqui (concretamente la copia de BD correspondiente al 1 de Julio).


El experimento consiste en, para cada uno de los sistemas, ejecutar Apache Benchmark con las distintas cargas de trabajo a las que se va a ver sometido. Un ejemplo de linea de comandos puede ser el siguiente:
ab -n 500 -c 10 http://192.168.0.34/paquiblog/index.php
ab -n 1000 -c 10 http://192.168.0.34/paquiblog/index.php
ab -n 1500 -c 10 http://192.168.0.34/paquiblog/index.php
ab -n 2000 -c 10 http://192.168.0.34/paquiblog/index.php
ab -n 500 -c 50 http://192.168.0.34/paquiblog/index.php
ab -n 1000 -c 50 http://192.168.0.34/paquiblog/index.php
ab -n 1500 -c 50 http://192.168.0.34/paquiblog/index.php
ab -n 2000 -c 50 http://192.168.0.34/paquiblog/index.php
ab -n 500 -c 100 http://192.168.0.34/paquiblog/index.php
ab -n 1000 -c 100 http://192.168.0.34/paquiblog/index.php
ab -n 1500 -c 100 http://192.168.0.34/paquiblog/index.php
ab -n 2000 -c 100 http://192.168.0.34/paquiblog/index.php



Tomamos de cada medida los resultados para páginas cargadas por segundo y el tiempo medio de carga de cada página. Dividimos estos valores ( páginas por segundo / tiempo medio de carga ) y agrupamos los valores que obtenemos en tres grupos (10, 50 y 100 peticiones simultaneas por segundo) y a cada grupo le hacemos la media, con lo que obtenemos una media por peticiones simultaneas del factor de carga veloz (Si, es un lío pero a continuación explico por qué hago todo esto y en el análisis de datos la tabla de datos recogidos se autoexplica).


Anotaciones del experimento


Factor de carga veloz: Este factor tiene sentido en cuanto a que relacionamos los dos valores importantes para el servidor: ¿Cuántas páginas puede cargar en un tiempo? ¿El usuario tendrá que esperar mucho para ver su página? de modo que, estudiando este factor podemos de entre los sistemas seleccionar el que tenga el mejor compromiso sobre estas dos preguntas.


Media por peticiones simultaneas del factor de carga veloz: En la experimentación dados los factores de carga veloz para iguales peticiones simultaneas los unificamos mediante una media. Esto lo hacemos por que nos interesa conocer más sobre las peticiones simultaneas que sobre el número total de peticiones, que realmente poco afectan al experimento y casi se podrían eliminar pero se quedan para abarcar un determinado margen en que puedan reflejarse posibles situaciones que puedan darse.


Análisis e interpretación de datos



Realizamos análisis sobre tres sistemas.



Sistema MEGA3


Obtenemos los siguientes resultados:


Sistema GIGA4


Obtenemos los siguientes resultados:


Sistema Ogabanis


Obtenemos los siguientes resultados:

En este caso concreto los analisis para 50 y 100 peticiones simultaneas han dado error, el sistema se quedaba congelado y Apache Benchmark finalizaba su ejecución por error sin haber concluido los análisis.



Interpretación de los datos


A simple vista se puede observar que el Sistema GIGA4 tiene resultados mejores en todos los campos, siguiéndole el Sistema Ogabanis que desgraciadamente falla al aumentar la carga de usuarios simultáneos y por último el Sistema MEGA3 que a simple vista no es lo suficientemente potente para este cometido.



Para poder observar claramente las diferencias entre los sistemas creamos los índices, que nos lo dejarán claro:






MEGA3GIGA4OgabanisIMEGA3IGIGA4IOgabanis
10 pet. simultaneas0.000750.010230.00200113.642.66
50 pet. simultaneas0.000160.00216Error113.5Error
100 pet. simultaneas0.000080.00114Error114.25Error
Media aritmética113.79Error
Media geométrica113.64Error



Resultados


Observamos los datos representados en la siguiente gráfica


Podemos observar que GIGA4 vuelve a ganar (al igual que en anteriores trabajos), esta vez con una enorme diferencia con respecto a los demás. El sistema base tiene un índice 1 y el mejor sistema es GIGA4 con índice de 13.64 para el objetivo planteado. Por tanto el sistema que cumple mejor con nuestros objetivos es el sistema GIGA4.

Y esto no termina aquí...


Servidor Saturado - Final from LP-Spain on Vimeo.

9 comentarios

antares.es dijo...

Esto... Torres. Te voy a hacer varias preguntas sin acritud.

- ¿Los vídeos forman parte del trabajo o lo has puesto solo en el blog?
- ¿Eres incapaz de hacer nada de forma seria?
- ¿Eres incapaz de hacer nada sin meter a la Paqui de por medio?
- En cuestión de porcentaje, ¿tiempo empleado en hacer el vídeo frente a tiempo empleado en la realización del trabajo?

Para terminar te deseo suerte con el trabajo, mejor dicho, deseo que JJ te ponga buena nota porque creo que el trabajo (quitanto tonterías) está bastante bien.

¡¡Un saludico!!

LP-Spain dijo...

Buenas antares, te respondo :P
- ¿Los vídeos forman parte del trabajo o lo has puesto solo en el blog?
Los vídeos forman parte del trabajo, son algo adicional que, a pesar de que formen parte de él considero no formarían parte de la evaluación.

- ¿Eres incapaz de hacer nada de forma seria?
El trabajo es un trabajo serio, los vídeos son cachondillos, me encanta el humor.

- ¿Eres incapaz de hacer nada sin meter a la Paqui de por medio?
Si es ella que tiene una ansia de fama...

- En cuestión de porcentaje, ¿tiempo empleado en hacer el vídeo frente a tiempo empleado en la realización del trabajo?
Pues el vídeo: Guión + rodaje en UGR + rodaje en oficina + rodaje en sótano tenebroso + montaje ~ dos días y algo más de trabajo.
El trabajo pues han sido unos dos días entre unas cosas y otras.
De modo que del tiempo total 60% vídeo - 40% trabajo.

Ferguson dijo...

Estoy de acuerdo con LP, la vida hay que tomársela con humor. Y el trabajo de uno forma parte de la vida. Yo también hago mucho el chorras en mi trabajo (dentro de unos límites) y tanto yo como los que están a mi alrededor lo agradecen.

Según mi punto de vista, claro. A lo mejor dicen: Ahí está el plasta del Fergu (xD) pero si lo dicen, no se nota.

Anónimo dijo...

Vaya, la verdad es que esto sí que es un buen trabajo de clase. Espero que JJ os ponga una buena nota.
Felicidades, todavía estoy riéndome con el trabajo.

nozintusei dijo...

Un gran trabajo, sí señor.
Bien analizado; la justificación de los experimentos y resultados es perfecta...

Ya no tengo duda: ¡en EC1 el próximo curso, todas las prácticas de ensamblador deben presentarse con su video de introducción y su vídeo de desenlace!

LP-Spain dijo...

@nozintusei: Respondido aqui: http://atalaya.blogalia.com/historias/58594#501330 :)

Anónimo dijo...
Este comentario ha sido eliminado por un administrador del blog.
el llanero solitario dijo...

creo Ramon que no has cambiado desde el cole tio, te veo un futuro oscuro hem muy oscuro.....

LP-Spain dijo...

Hey! llanero solitario! pero que haces por aquí lameando con la de fiesta que tienes hoy por delante ;)