De la serie: Manos a la obra
En unos de los proyectos de los que me encargo se ha pedido que se estudie la posibilidad de utilizar un acelerador de web para el sitio corporativo (posteriormente se documentará este proceso en otra entrada). Este acelerador estará instalado sobre un servidor virtual, concretamente sobre VMWare ...
... si, no es software libre (que se le va ha hacer, sobre esta decisión no tengo capacidad de actuar, aunque un poco si sobre todo la pila de software).
En unos de los proyectos de los que me encargo se ha pedido que se estudie la posibilidad de utilizar un acelerador de web para el sitio corporativo (posteriormente se documentará este proceso en otra entrada). Este acelerador estará instalado sobre un servidor virtual, concretamente sobre VMWare ...
... si, no es software libre (que se le va ha hacer, sobre esta decisión no tengo capacidad de actuar, aunque un poco si sobre todo la pila de software).
La primer tarea que se ha a realizar es la verificación de si, por el hecho de ser un servidor virtual, se puede caer en una perdida de rendimiento, este es el objetivo de esta entrada. Las planificación de las tareas será la siguiente:
- Selección del hardware para la comparación.
- Instalación y configuración del sistema operativo en los servidores, evidentemente GNU/Linux.
- Instalación y configuración del software de estudio de rendimiento y revisión de configuración.
- Definición de los juegos de pruebas a realizar.
- Ejecución de la prueba.
- Análisis de resultados y conclusiones.
Una vez definida la planificación, se comienza en su realización ...
Selección del hardware para la comparación
La elección de la configuración del servidor virtual que se realiza es de 2 procesadores, 4GB de RAM y un espacio de disco de 53GB. No se tiene capacidad para la selección del tipo de procesador, de la velocidad de la RAM, ni del número de revoluciones del disco ya que se utiliza el equipo estándar de los anfitriones (que raro queda esto dicho en español, normalmente se utiliza host). Se enlaza el fichero con la configuración completa del hardware virtual.
Para la comparación se ha utilizado un servidor (en realidad es un PC) físico de HP Compaq 8200. Se enlaza también el fichero con la configuración completa del hardware del PC.
Instalación y configuración del sistema operativo en los servidores, evidentemente GNU/Linux
No creo necesario describir la instalación de Debian ya que existen muchos tutoriales de como hacerlo (un ejemplo:manual oficial de Debian, otro ejemplo). Simplemente añadir que se ha escogido la versión de testing (aquí información de las versiones de Debian) que a fecha de escritura de este articulo está en versión Beta 1. Además, la instalación se ha realizado sin entorno gráfico ya que no es necesario por ser un servidor.
Tomo nota en la lista de tareas para la documentación una mi guia personal de: ¿Que hacer después de instalar Debian Wheezy con xfce4?
Instalación y configuración del software de estudio de rendimiento y revisión de configuración
Las tareas de este apartado son simples de realizar, las aplicaciones que se van a utilizar son libres (licencia GPL) y están disponibles en los repositorios de Debian: lshw y sysbench. Para su instalación:
aptitude install lshw sysbench
Se aceptan todas las dependencias y los paquetes quedan instalados
Definición de los juegos de pruebas a realizar
Centraremos la atención en los juegos de prueba que permite realizar la herramienta sysbench:
- Cpu
- Entrada salida de ficheros (disco)
- Gestión de threads por el planificador (hilos de ejecución y bloqueos)
- Mutex
Los parámetros con los que se ejecutarán las pruebas son los siguientes:
- CPU: sysbench --test=cpu --cpu-max-prime=20000 run
- Entrada salida de ficheros:
- sysbench --test=fileio --file-total-size=15G prepare
- sysbench --test=fileio --file-total-size=15G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 run
- sysbench --test=fileio --file-total-size=15G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 cleanup
- Threads: sysbench --num-threads=128 --test=threads --thread-yields=200 --thread-locks=4 run
- Mutex: sysbench --num-threads=640 --test=mutex --mutex-num=4096 --memory-scope=global --memory-total-size=100G --memory-oper=write run
Hasta aquí la primera parte del artículo 'Análisis de rendimiento de servidores GNU/Linux'.
En la siguiente y última parte se documentarán las dos últimas tareas que son la ejecución de la prueba y el análisis de resultados y conclusiones.
Gracias por vuestra atención.