Estudio De Web Servers
Total Page:16
File Type:pdf, Size:1020Kb
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 (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 Real de 1 Petició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. .