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 • LIGHTTPD • APACHE • THTTPD 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, Linux 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 (gzip, 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.