martes, 4 de septiembre de 2012

Análisis de rendimiento de servidores GNU/Linux (Parte I)

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).


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:

  1. Selección del hardware para la comparación.
  2. Instalación y configuración del sistema operativo en los servidores, evidentemente GNU/Linux.
  3. Instalación y configuración del software de estudio de rendimiento y revisión de configuración.
  4. Definición de los juegos de pruebas a realizar.
  5. Ejecución de la prueba.
  6. 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
Y el juego de pruebas consistirá en la ejecución de los test con los parámetros fijados y posterior comparación y análisis de ellos.

Los parámetros con los que se ejecutarán las pruebas son los siguientes:
  • CPU: sysbench --test=cpu --cpu-max-prime=20000 run
Este test permitirá valorar el rendimiento que consigue la CPU medido en segundos que necesita para calcular los números primos de los 20000 primeros números naturales.
  • 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
Esta prueba permitira conocer la tasa de transferencia media del disco para operaciones combinadas de entrada/salida.
  • Threads: sysbench --num-threads=128 --test=threads --thread-yields=200 --thread-locks=4 run
Con este test se analizará el rendimiento del servicio de planificador o scheduler [en] del S.O. cuando está sometido a una situación de alta carga.


  • Mutex: sysbench --num-threads=640 --test=mutex --mutex-num=4096 --memory-scope=global --memory-total-size=100G  --memory-oper=write run
El test consiste en el incremento de una variable global mediante un 'cierre de exclusión mutua' (he tenido que buscar la traducción al castellano y sinceramente no la habia escuchado nunca) o en inglés 'mutex lock' por el número de threads que se le marque con el modificador 'num-threads'. Nota: El resto de parámetros son los de defecto, los he documentado simplemente por claridad.





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.




lunes, 3 de septiembre de 2012

Proyecto veraniego: Openstreetmap de La Póveda (y III)

De la serie: Mi proyecto veraniego


Se continua con la tercera (y última) entrega de la serie del proyecto veraniego de openstreetmap. Se enlazan las anteriores para los recién  llegados:

Proyecto veraniego: Openstreetmap de La Póveda (I) y (II)

De las tareas planificadas se han realizado:
  1. (Realizada) Definición de objetivos y selección de la zona para mapear.
  2. (Realizada) Realización de la captura del track para subirlo a OpenStreetMap.
  3. (Realizada) Traducción a formato GPX.
  4. (No realizada) Carga a OpenStreetMap de la ruta.
  5. (No realizada) Edición de los elementos del mapa.

Se continua con el siguiente punto:

Carga a OpenStreetMap de la ruta

 En este momento se pasa a trabajar contra los servicios de OpenStreetmap, por ello la primera parte es crear el usuario, si ya se tienen las credenciales simplemente realizar la validación.

Una vez validado se deberá seleccionar la opción 'GPS Traces' del menú de la columna de la izquierda para acceder  a todas las trazas publicas y a 'See your traces' en la parte de arriba de la página. Si todo ha ido bien debería aparecer una pantalla sin ninguna traza cargada:


Se puede observar el enlace de 'Upload a trace' que permitirá cargar esa traza que hemos estado modificando.

Una vez cargada se podrán editar los objetos seleccionando el último botón a la derecha, como no puede ser de otra forma: editar. Se abrirá el editor de objetos de mapa. Se puede observar las opciones de edición en el siguiente mapa:


Se selecciona un tramo del mapa y se abre el menú del objeto, se puede observar el modelo de la ventana de dialogo de selección del tipo de vía:


También existe una ayuda que ofrece información para identificar el tipo de vía que escoger, al lado del menú dropdown donde pone 'Living street' existe una pequeña 'i' que enlaza a una wiki de openstreetmap de referencia en varios idiomas sobre las definiciones de las vías:

http://wiki.openstreetmap.org/wiki/Tag:highway%3Dliving_street

Una vez clasificada la vía se tendrá el siguiente mapa con los objetos que se han creado ya de forma pública.





He realizado una captura del resultado final donde he incluido varios elementos como el un alojamiento (casa rural), varias fuentes y un cementerio.



 Este mismo mapa lo podéis consultar en línea en el siguiente enlace:

http://www.openstreetmap.org/?lat=42.011275&lon=-2.502995&zoom=18&layers=M

 Seguramente se pueden añadir más elementos pero por este verano es suficiente.

Hasta aquí la explicación/tutorial de mi proyecto veraniego 2012, si os animáis y hacéis algún nuevo mapa no dudéis de hacérmelo saber a través de los comentarios.

Un saludo.





domingo, 2 de septiembre de 2012

Repositorios Debian multimedia

De la serie Notas breves (o un pim-pam)

Simplemente una nota rápida, para los antiguos en Debian como yo, que habíamos utilizado los repositorios de debian-multimedia.

Parece ser que hace 5 años (si, si, 5 años) que a petición del líder del proyecto Debian en es momento se le hizo la petición de no utilizar el nombre Debian. Esta petición se realizó por correo (se puede leer la petición) y el responsable de los repositorios accedió a cambiar el dominio a deb-multimedia.org

¿Como me he dado cuenta de este problema? Al intentar actualizar el flash para la documentación de las entradas de OpenStreetMap me aparecía el error:

Failed to fetch http://www.debian-multimedia.org/pool/non-free/f/flash-player/flashplayer-mozilla_11.2.202.238-dmo2_i386.deb: Hash Sum mismatch


En definitiva, he modificado el fichero /etc/apt/sources.list con la siguiente linea:

deb http://www.deb-multimedia.org wheezy main non-free

OJO, yo utilizo la versión whezzy (testing a fecha actual)

A partir de aquí todo bien.