Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ndice de contenido
Objetivos...................................................................................................................................... 3 Benchmarks y mtricas................................................................................................................ 4 Informacin del equipo................................................................................................................. 5 Distribuciones y Kernels utilizados...............................................................................................6 Parmetros que pueden afectar...................................................................................................7 Resultados................................................................................................................................... 8 Conclusiones............................................................................................................................. 12 Referencias................................................................................................................................ 14
Objetivos
Esencialmente los objetivos de este trabajo se han centrado en la comparacin en base a los 2 elementos esenciales de un sistema operativo basado en Linux: el kernel y la distribucin. Aunque el cdigo fuente del kernel utilizado siempre es el mismo, nosotros hemos optado por compilar mediante las herramientas make (menuconfig | xconfig | config) nuestra propia versin de un kernel. No solo queremos comparar si es mejor un compilado o uno genrico, sino tambin queremos valorar si merece la pena la inversin de conocimiento y tiempo que tenemos que hacer para realizar una compilacin correcta y satisfactoria. Por otro lado lado hemos querido evaluar varios aspectos sobre las distribuciones. Vamos a comparar tanto dentro de una misma distribucin la variacin de rendimiento entre versin de escritorio (desktop) y versin para servidores (server), como la diferencia de rendimiento entre una versin aparentemente limpia y sin utilizar respecto a otra versin ms preparada para un uso normal con los programas y servicios bsicos. Aunque podramos haber realizado una infinidad de pruebas para medir cada uno de los parmetros que pueden afectar al rendimiento de un ordenador, hemos preferido centrarnos en cmo se comporta cada configuracin ejecutando un servidor apache, as como la velocidad de entrada y salida a disco (cuello de botella de los sistemas de estos ltimos aos).
Benchmarks y mtricas
Para medir las prestaciones de cada configuracin, hemos llevado a cabo dos pruebas de rendimiento centradas en nuestros 2 objetivos principales: el rendimiento de un servidor apache y la velocidad de entrada y salida del disco duro.
hdparm
Proporciona una interfaz en linea de comandos para ver y ajustar los parmetros del disco duro. La opcin -t ejecuta un test de lectura del disco duro sin hacer uso de la cach. Uso: hdparm -t <dispositivo> Mtricas: -Tasa de transferencia en Mbytes/segundo (ms es mejor) Para que los datos de las pruebas fuesen lo mas exactos posibles evitando cargas puntuales en el sistema, hemos realizado el test ab 30 veces, y el hdparm 10 veces. Tambin nos hemos asegurado que, una vez hecho el test y recopilados los datos, la desviacin tpica de ellos no fuese muy significativa. Esto nos indica que todos los test han sido realizados bajo condiciones similares.
Placa base:
Fabricante:MICRO-STAR INTERNATIONAL CO.,LTD Modelo: MS-7502
Microprocesador:
Intel(R) Core(TM)2 Duo CPU Socket 775 Arquitectura de 64 bits. E4700 @ 2.60GHz
Memoria Ram:
6 GB DDR2
Disco duro:
Fabricante: Western Digital Interfaz: SATA Velocidad de rotacin: 7200 rpm Capacidad: 640GB
Apache:
Apache2 versin: 2.2.22
Kernels:
-Linux 3.2.0: Es el Kernel incluido por defecto en las dos versiones de Ubuntu que hemos utilizado. -Linux 3.3.7: Es el Kernel incluido por defecto en Arch Linux. -Linux 3.3.7 propio (versin win y fail): -Versin fail: Es una compilacin que pretenda ser total y absolutamente optimizada para el ordenador utilizado. Se configur de la siguiente manera: -Optimizado para la familia Core 2 Duo. -Eliminados sistemas de archivos que no iban a ser utilizados. -Eliminado el sonido. -Eliminados los controladores de red innecesarios. -Eliminados los controladores para joysticks, gamepads... -Eliminados los controladores para hardware innecesario. Tras todos estos cambios, sorprendentemente el Kernel que obtuvimos dio lugar a los peores resultados de todos. -Versin win: Es una compilacin mucho menos elaborada que la anterior, solamente optimizamos el Kernel para la familia Core 2 Duo. sta compilacin tan bsica ha sido la que ha obtenido mejores resultados de rendimiento en las pruebas realizadas.
-Velocidad de internet:
Debido a que las pruebas se realizan sobre un servidor http, el resultado de stas puede estar determinado por la velocidad de conexin a internet de la que dispongamos en el lugar en que realicemos las pruebas. En nuestro caso ste parmetro no afecta a los resultados obtenidos, ya que todas las pruebas han sido realizadas con un equipo en una red local (las pruebas han sido realizadas a la URL: http://localhost/index.html
Resultados
A continuacin mostramos los datos obtenidos tanto en formato de tabla como de grfica. Adjuntamos con el pdf del trabajo los archivos generados por los scripts que contienen los resultados medios con el clculo de la desviacin tpica. Tabla del test AB Nombre distribucin Tiempo que ha tardado el test (segundos) 0,9294 0,8717 2,9453 1,1734 0,84 1,0724 Peticiones por segundo 10766,916 11480,669 3405,058 8525,209 11910,079 3 9333,5526 Tiempo por peticin (milisegundos) 9,2934 8,7172 29,4521 11,7331 8,401 10,723 Velocidad de transferenci a (KB/s) 4889,371 5090,063 1509,665 3771,407 5280,445 4129,003
Menos es mejor
Menos es mejor
Ms es mejor
Ms es mejor
Tabla del test hdparm Nombre distribucin ArchLinux-3.3.7 UbuntuServer-3.2.0 UbuntuServer-3.3.7_fail Ubuntu-12.04-3.2.0 UbuntuServer-3.3.7_win Ubuntu-12.04-3.3.7 Velocidad de lectura (MB/s) 81,317 81,251 81,252 80,56 81,132 81,252
Ms es mejor
Conclusiones
Conclusiones generales.
Como conclusin general se puede sacar que una versin server s que impone una diferencia considerable de rendimiento respecto a una desktop, al igual que una configuracin refinada, optimizada y pensada de kernel tambin ofrece cierta mejora. En cuanto a la tasa de transferencia, los resultados obtenidos son muy similares y una diferencia del 1% no resulta significativa.
Conclusiones particulares.
Mejor vs peor distribucin con kernel genrico Ubuntu-12.04-3.2.0 UbuntuServer-3.2.0 Mejora aproximada Tiempo que ha tardado el test (segundos) 1,1734 0,8717 34,00% Peticiones por segundo 8525,209 11480,669 36,00% Tiempo por peticin (milisegundos) 11,7331 8,7172 34,00% Velocidad de transferencia (KB/s) 3771,407 5090,063 36,00%
A partir de esta tabla podemos deducir que la compilacin de un kernel no es algo trivial y puede marcar una diferencia de rendimiento importantsima. Es curioso que la versin a la que se le han quitado ms cosas es la versin que peores resultados ha ofrecido. Kernel genrico vs kernel compilado UbuntuServer-3.2.0 UbuntuServer-3.3.7_win Mejora aproximada Tiempo que ha tardado el test (segundos) 0,8717 0,84 3,00% Peticiones por segundo 11480,669 11910,0793 4,00% Tiempo por peticin (milisegundos) 8,7172 8,401 3,00% Velocidad de transferencia (KB/s) 5090,063 5280,445 4,00%
Referencias
Wikipedia. Manuales de compilacin de kernels online, entre otros http://www.avenegra.org/2011/08/compilar-el-kernel-linux-debian-squeeze Web de la asignatura Diseo y Evaluacin de Configuraciones Web de la asignatura Diseo de Sistemas Operativos