UNIVERSIDADE DE VIGO

ESCOLA SUPERIOR DE ENXEÑERÍA INFORMÁTICA

Proyecto ACSO CURSO 2009/2010

Alumnos: Miguel Portela González Aarón Veiga Olivera Miguel Bermúdez Pena Noelia Pérez Álvarez 1.- INTRODUCCIÓN 2.- ESTADO DEL ARTE 3.- DESCRIPCIÓN TÉCNICA Y CONFIGURACIÓN • CHEROKEE • • APACHE • 4.- RESULTADOS Y MEDICIONES EXPERIMENTALES 5.- INTERPRETACIÓN DE RESULTADOS 6.- CONCLUSIONES  ESTUDIO DE LOS SERVIDORES

 CHEROKEE  APACHE

 LIGHTTPD  THTTPD

 PROPÓSITO DEL ESTUDIO MEDIR PARÁMETROS DE LOS SERVIDORES COMPROBAR CUÁL DE LOS SERVIDORES ES MEJOR REALIZAR GRÁFICAS DE LOS RESULTADOS OBTENER RESULTADOS Y CONCLUSIONES

 RESULTADOS ESPERADOS

Será un articulo que ayude a una persona que necesite montar un servidor en su empresa para seleccionar la mejor opción. Los motivos y razones estarán fundamentadas en las pruebas y mediciones realizadas

 No hay estudios similares en la Web  Ventajas y desventajas del software y herramientas utilizados

DESVENTAJAS VENTAJAS  Versiones de los servidores Servidor Versión Cherokee 0.99.19 Lighttpd 1.04.22 Apache 2.02.12 Thttpd 2.25b-6

 Plataforma de pruebas

CPU Intel Core Duo T2400 1.83GHz HDD Western Digital 250 GB 2.5 5400 rpm ATA Video Ati Radeon X1600 PRO 256MB Memoria RAM 3GB Tarjeta Wireless Intel 3950 ABG S.O. Ubuntu 9.10 Karmic Kernel 2.6.32  Servidor web de alto rendimiento. Es muy rápido, flexible y fácil de configurar.  Interfaz gráfica

 Software libre.  Totalmente modular.  Multiplataforma (rendimiento nativo para Unix, y Windows).  Es un servidor web diseñado para ser rápido, seguro, flexible, y fiel a los estándares.  Está optimizado para entornos donde la velocidad es muy importante  Es software libre  La configuración se realiza mediante la edición de un archivo de texto

 Características:

 Virtual hosting  CGI, SCGI y FastCGI  Soporte para PHP, Ruby, Python y otros  Cifrado SSL  Compresión (, bzip2, ...)  Autenticación (LDAP, htpasswd, otros)  …

 Servidor web flexible, rápido y eficiente, continuamente actualizado y adaptado a los nuevos protocolos.  Servidor más utilizado.

 Características

 Multiplataforma.

 Contiene muchas optimizaciones adicionales para aumentar el rendimiento y la escalabilidad.

 Se desarrolla de forma abierta.

 Extensible: al ser modular se han desarrollado diversas extensiones.

 Utiliza de los requerimientos mínimos de un servidor HTTP.  Software libre

 Características:

 Simple: Maneja el mínimo necesario para poner en funcionamiento el protocolo HTTP.

 Pequeño: Muy cuidadoso en cuanto a la asignación de memoria.

 Portátil: Se puede compilar sobre la mayoría de sistemas operativos.

 Rápido: En el uso habitual es más rápido que la mayoría de servidores. Bajo carga extrema es mucho más rápido.

 Seguro: Ofrece protecciones contra ataques.  Consideraciones:

 Las prueba fueron realizadas en modo local.  Los servicios de sistema operativo no necesarios fueron desactivados durante los test.

 Test individuales:

 Test de velocidad de descarga: Descargar archivos de 1 a 100 MB.

 Test conjuntos:

  Test de peticiones Consumo de memoria RAM

 Test peticiones/segundo  Desviación típica de la velocidad de descarga  Test de threads  Test de velocidad de descarga servidor Cherokee

Test de Estabilidad en la Velocidad de Descarga 80

70

60

Gran homogeneidad 50

40

30 Velocidad Velocidad de Descarga (MB/s) 20

10

0 0 20 40 60 80 100 120 Tamaño del Archivo (MB)  Test de velocidad de descarga servidor Lighttpd

Test de Estabilidad en la Velocidad de Descarga 70

60

50 Gran variación

40

30

20 Velocidad Velocidad de Descarga (MB/s)

10

0 0 20 40 60 80 100 120 Tamaño del Archivo (MB)  Test de velocidad de descarga servidor Apache

Test de Estabilidad en la Velocidad de Descarga 70

60

Gran homogeneidad

50

40

30

20 Velocidad Velocidad de Descarga (MB/s)

10

0 0 20 40 60 80 100 120 Tamaño del Archivo (MB)  Test de velocidad de descarga servidor Thttpd

Test de Estabilidad en la Velocidad de Descarga

70

60

50

40

30

20 Velocidad Velocidad de Descarga (MB/s) Homogeneidad Comienza a oscilar Mayor variación y disparidad

10

0 0 20 40 60 80 100 120 Tamaño del Archivo (MB)  Test de peticiones

Test de Peticiones

16000

14000 Con 35.000 peticiones: Lentitud de Apache 12000 Apache:13499 ms Thttpd: 7639 ms

10000 ------

Diferencia: 5860 ms Lighttpd Cherokee 8000 Thttpd

Tiempo Tiempo (ms) Apache 6000 Comportamiento muy Rapidez de Thttpd 4000 similar

2000

0 1 5 10 50 100 500 1000 5000 10000 15000 20000 25000 30000 35000 Nº de Peticiones  Test de tiempo - petición

Test Tiempo-Peticion

1.2

1

0.8 De 10.000 peticiones en adelantes se Lighttpd 0.6 estabiliza el tiempo Cherokee Thttpd Apache

0.4 Tiempo Tiempo Real de 1Petición (ms)

0.2

0 1 5 10 50 100 500 1000 5000 10000 15000 20000 25000 30000 35000 Nº de Peticiones  Test de peticiones/segundo

Test Peticiones/Segundo

4000

3500 Mayor rendimiento de Thttpd frente al resto 3000

2500 Lighttpd

2000 Apache Cherokee

1500 Thttpd

Nº Nº de Peticiones cada Segundo 1000

500

0 Más lento por motivo del mayor número de módulos  Test de threads

Test threads

4500 Se mejora el rendimiento en un 23%

4000

3500

3000

2500

2000 1 Thread 2 Threads 1500

1000

500

0

Lighttpd Apache No están optimizados para Cherokee trabajar con varios threads Thttpd  Test de consumo de RAM Consumo de memoria RAM 2.5 A pesar de sus numerosos módulos y Cherokee: Mayor consumo funcionalidades tiene consumo bajo de RAM (Versión 0.99.19)

2

1.5

1 Consumo de memoria RAM (MB) Muy ligeros y rápidos

0.5

0 Lighttpd Apache Cherokee thttpd Servidor  Test de desviación típica de la velocidad de descarga media Cherokee: Más rápido e irregular

Lighttpd y Thttpd: ofrecen buena estabilidad

Apache: Mejor funcionamiento sirviendo archivos  Comparativa de características y usos

Cherokee Lighttpd Apache Thttpd

Interfaz gráfica SI NO NO NO

Instalación FÁCIL FÁCIL FÁCIL FÁCIL

Configuración FÁCIL MEDIA MEDIA MEDIA

Problemas encontrados SISTEMA DE NINGUNO NINGUNO FALLOS CON EL ADMINISTRACION INICIL DEL DESCONOCIDO SERVIDOR Ralentización del sistema NO NO NO NO

Actualizaciones SI SI SI SI

Incluido en los repositorios SI SI SI SI

Soporte de tecnologías MEDIO MEDIO MUY ALTO MEDIO-BAJO  Conclusiones sobre los dos test de peticiones  Al realizar la primera petición de una ráfaga sobre el servidor, éste guarda en caché ciertos datos (por ejemplo, las cabeceras http)

 Las cargas de la CPU pueden afectar a la hora de realizar las peticiones  Conclusiones sobre el test de peticiones/segundo  Thttpd es el servidor más potente en el tema de procesar peticiones Http

 Thttpd es un buen programa para servir páginas web estáticas  Conclusiones sobre el test de threads  Utilizar varios núcleos o threads para procesar ayuda a mejorar notablemente el rendimiento del procesamiento de peticiones en un servidor web

 En general, los programas no utilizan todo el potencial de la máquina hardware  Conclusiones sobre el test de la estabilidad de descarga  A la CPU le pueden surgir otros procesos prioritarios para el sistema

 Si el archivo no está continuo en disco la aguja lectora tendrá que hacer varios accesos

 Posibles mejoras

 Utilizar otro tipo de benchmark  Ejemplo: medir los parámetros de rendimiento de paginas web dinámicas, y así analizar los valores a tener en cuenta para poder valorar el rendimiento de las mismas.

 Sugerencias para futuros trabajos

 Comparar servidores multiplataforma en diferentes sistemas operativos.

 Comparar servidores en máquinas con distinto hardware.

 Realizar test sobre diferentes tipos de redes.