En un servidor web dedicado o en un servidor privado virtual el rendimiento de entrada / salida (input / output, io), principalmente el de acceso al disco duro es muy relevante. En la generación de una página web dinámica, se hacen multitud de accesos al disco duro. Se leen los diferentes archivos con el código que forman la aplicación, los archivos de configuración del servidor y del interprete, se rebusca entre los archivos de las bases de datos, los diferentes elementos estáticos de la web como pueden ser las imágenes, y otros elementos más. Como se ve multitud de accesos al sistema de archivos se suceden para construir lo que en un instante se muestra en el navegador.
Por eso, poder medir para comparar el rendimiento de nuestro servidor en lectura y escritura es definitivamente muy importante. Para este propósito existe una aplicación, que en Ubuntu Server 12.04 LTS esta disponible en sus repositorios, llamada ioping.
Para instalar ioping en nuestro servidor simplemente debemos ejecutar en un terminal la siguiente orden:
sudo aptitude install ioping
Esto dejará ioping instalado y listo para uso en nuestro sistema.
Modo de empleo
Podemos indicarle que ponga a prueba el sistema de ficheros local con una cuenta de 10 con el siguiente comando. Al finalizar nos dará un resumen de las pruebas. El comando es:
ioping . -c 10
Mostrará algo semenjante a:
4096 bytes from . (ext3 /dev/xvda1): request=1 time=26.5 ms
4096 bytes from . (ext3 /dev/xvda1): request=2 time=14.3 ms
4096 bytes from . (ext3 /dev/xvda1): request=3 time=0.3 ms
4096 bytes from . (ext3 /dev/xvda1): request=4 time=33.2 ms
4096 bytes from . (ext3 /dev/xvda1): request=5 time=21.9 ms
4096 bytes from . (ext3 /dev/xvda1): request=6 time=12.5 ms
4096 bytes from . (ext3 /dev/xvda1): request=7 time=15.8 ms
4096 bytes from . (ext3 /dev/xvda1): request=8 time=20.0 ms
4096 bytes from . (ext3 /dev/xvda1): request=9 time=20.3 ms
4096 bytes from . (ext3 /dev/xvda1): request=10 time=17.3 ms
--- . (ext3 /dev/xvda1) ioping statistics ---
10 requests completed in 9121.8 ms, 84 iops, 0.3 mb/s
min/avg/max/mdev = 0.3/11.9/39.9/13.3 ms
Un rendimiento que como se ve ha de considerarse pobre para en sistema de ficheros en producción.
El mismo sistema de ficheros probado de otra forma:
ioping . -R
--- . (ext3 /dev/xvda1) ioping statistics ---
962 requests completed in 3005.4 ms, 334 iops, 1.3 mb/s
min/avg/max/mdev = 0.2/3.0/73.5/6.3 ms
Más información
En la página del manual se muestran todas la opciones disponibles en ioping y una explicacion detallada de ellas. Además podemos acceder al código fuente en Google Code.