Medir la velocidad general de una unidad de almacenamiento no es algo complicado. Con una copia de CrystalDiskMark, el viejo build gratuito de HD Tune u otro software similar es suficiente. Sin embargo, hay usuarios allá afuera que deben evaluar a su hardware bajo condiciones más específicas, con cargas de trabajo muy bien definidas. Ahí es cuando interviene la herramienta FIO. No tiene interfaz, su documentación no es la mejor del mundo, y no te enseña nada en el camino, pero si eres uno de esos usuarios, necesitas una copia.
Un punto que es criticado con frecuencia entre los benchmarks más populares es su perfil sintético. Desde cierto punto de vista, usar un benchmark fijo, repetitivo e invariable resulta útil porque nos permite extender el mismo «paquete de reglas» sobre múltiples configuraciones de hardware, pero hay ocasiones en las que esa ventaja se cae a pedazos. Por ejemplo, no es lo mismo un disco duro trabajando en un sistema de escritorio, que en un servidor con cargas de trabajo completamente diferentes.
Eso significa que bajo programas como CrystalDiskMark o el clásico HD Tune, lo que recibimos en realidad son «opiniones muy educadas» sobre el rendimiento de un disco o un SSD, mientras que en segundo plano puede haber cuellos de botella, bugs de controladores y otros errores de configuración esperando para arruinarlo todo. ¿Cómo se los detecta? Con un benchmark súper-flexible, avanzado, y capaz de reproducir casi cualquier carga de trabajo: FIO.
Entonces… si es tan bueno, ¿por qué no es más famoso? La respuesta es sencilla: No es un benchmark pensado para el usuario común. No posee una interfaz gráfica, ni un asistente que explique cada uno de sus parámetros. Con FIO debes saber exactamente qué es lo que deseas evaluar, y no esperar ayuda para lograrlo. FIO se comporta como un simulador/comodín, una «navaja multiuso» que evitó a su desarrollador el dolor de cabeza de crear un benchmark individual para cada carga de trabajo. Pero semejante flexibilidad se ve reflejada en los modificadores necesarios para su ejecución. Por ejemplo:
fio –name=random-write –ioengine=windowsaio –rw=randwrite –bs=4k –numjobs=1 –size=4g –iodepth=1 –runtime=60 –time_based –end_fsync=1
- «Name» es el nombre que llevará el archivo generado durante del benchmark.
- «IOEngine» define el modo en el que FIO interactúa con el sistema de archivos (en Windows es «windowsaio», para el resto es «posixaio»).
- «–rw=randwrite» indica que queremos evaluar operaciones aleatorias de escritura.
- «–bs=4k» es el tamaño del bloque, 4K, una verdadera tortura para muchos medios de almacenamiento.
- «–size=4g» configura el tamaño del archivo, 4 gigabytes.
- «–numjobs=1» ordena la creación de un solo archivo, y un solo proceso dentro de ese archivo.
- «–iodepth=1» es la profundidad para apilar comandos en el queue del sistema operativo (equivale a una operación a la vez).
- «–runtime=60» es el tiempo de ejecución, 60 segundos.
- «–end_fsync=1» mantiene el contador activo hasta que todas las operaciones hayan sido completadas.
El resultado final aparece bajo la leyenda «Run Status Group»: En mi caso, FIO tardó 87.230 milisegundos en escribir un total de 6.307 «mebibytes» (o sea, base 1.024), lo que se traduce en unos 72.3 «mebibytes» por segundo, algo entre bajo y normal para un SSD común.
¿Deseas saber más sobre FIO? De ser así, la gente de Ars Technica publicó una excelente guía, pero la recomendación número uno sigue siendo leer la documentación oficial. Recuerda: FIO funciona muy bien, pero no enseña ni explica. Para dominarlo, deberás ensuciarte las manos.
Sitio oficial y descargas: Haz clic aquí
Fuente: Ars Technica
instalenlo para que maten esos viejos discos duros…