LinuxParty
Voy a comentar el uso de tres herramientas para determinar el rendimiento de los discos duros. Existen muchas otras maneras de determinarlo, pero personalmente considero que con emplear estas tres herramientas tenemos más que suficiente para usarlo como referencia y quejarnos para aumento de recursos (aunque luego nos ignoren…)
Comando fio
(La prueba que podrás hacer en servidores virtuales)
"fio" es una herramienta de E/S que genera un número de hilos o procesos haciendo un tipo particular de acción de E/S como se especifica por el usuario. Fio toma número de parámetros globales, cada uno heredado por el hilo anterior, a menos que dichos parámetros sean anulandos de esa configuración se les dará por defecto.
El uso típico de fio es escribir un archivo de trabajo que coincida con el de carga io se quiere simular.
Creamos un archivo por ejemplo: test.fio
Que contendrá:
[random-read]
rw=randread
# Las pruebas pueden ser 128, 256 o 512 m
size=256m
# Haremos una prueba de rendimiento de la partición montada
# que queremos.
directory=/var/www/html
Ejecutaremos la prueba:
fio test.fio
Y la salida será:
random-read: (g=0): rw=randread, bs=4K-4K/4K-4K/4K-4K, ioengine=sync, iodepth=1 fio-2.0.13 Starting 1 process Jobs: 1 (f=1): [r] [96.8% done] [2576K/0K/0K /s] [644 /0 /0 iops] [eta 00m:04s] random-read: (groupid=0, jobs=1): err= 0: pid=17076: Sat Sep 19 15:59:22 2015 read : io=131072KB, bw=1093.9KB/s, iops=273 , runt=119829msec clat (usec): min=83 , max=1878.6K, avg=3651.50, stdev=15990.11 lat (usec): min=83 , max=1878.6K, avg=3651.78, stdev=15990.11 clat percentiles (usec): | 1.00th=[ 183], 5.00th=[ 205], 10.00th=[ 233], 20.00th=[ 972], 30.00th=[ 1704], 40.00th=[ 2352], 50.00th=[ 2960], | 60.00th=[ 3536], 70.00th=[ 4128], 80.00th=[ 4704], 90.00th=[ 6304], 95.00th=[ 8160], 99.00th=[14528], 99.50th=[23168], | 99.90th=[59136], 99.95th=[333824], 99.99th=[651264] bw (KB/s) : min= 71, max= 4509, per=100.00%, avg=1119.92, stdev=468.90 lat (usec) : 100=0.02%, 250=13.21%, 500=4.75%, 750=0.84%, 1000=1.43% lat (msec) : 2=14.33%, 4=33.18%, 10=29.89%, 20=1.74%, 50=0.50% lat (msec) : 100=0.04%, 250=0.02%, 500=0.03%, 750=0.01%, 1000=0.01% lat (msec) : 2000=0.01% cpu : usr=0.24%, sys=1.07%, ctx=34490, majf=1, minf=24 IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% issued : total=r=32768/w=0/d=0, short=r=0/w=0/d=0 Run status group 0 (all jobs): READ: io=131072KB, aggrb=1093KB/s, minb=1093KB/s, maxb=1093KB/s, mint=119829msec, maxt=119829msec
Lo que está marcado en negrita, es de lo que nos tendremos que fijar.
También tenemos que tener en cuenta, que un servidor virtual nunca dará el mismo rendimiento que nuestro ordenador o un servidor físico.
Puedes borrar el fichero creado por la prueba, descrito en test.fio, y volver a ejecutar la prueba (para este caso en /var/www/html/), hazlo siempre cuando tenga menos tráfico para que te muestre una estadística más real.
NO TODAS LAS PRUEBAS DESCRITAS ABAJO PUEDEN HACERSE EN ALGUNOS SERVIDORES VIRTUALES.
Comando iostat
root@shell> iostat Linux 2.6.32-5-686 (desktop) 03/31/13 _i686_ (2 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 4,25 0,00 1,01 0,51 0,00 94,22 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 7,32 66,51 112,61 835334 1414278
root@shell> iostat -d 2 3 Linux 2.6.32-5-686 (desktop) 03/31/13 _i686_ (2 CPU) Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 11,79 210,97 95,91 1171053 532364 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 2,79 80,45 0,00 144 0 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 24,16 0,00 191,01 0 340
- tps
Es la transferencia a disco por segundo. - Bls_read/s (kB_read/s, MB_read/s)
Es la cantidad de bloques leídos por segundo. - Bls_wrtn/s (kB_wrtn/s, MB_wrtn/s)
Representa la cantidad de bloques escritos por segundo. - Blk_read (kB_read, MB_read)
Bloques totales leídos. - Blk_wrtn (kB_wrtn, MB_wrtn)
Bloques totales escritos.
Comando ioping
El comando ioping permite obtener el rendimiento del acceso a disco de un equipo al igual que si estuviésemos ejecutando un ping a la red.
En sistemas operativos Ubuntu se encuentra en repositorios y en caso de Debian de momento sólo en la rama testing, sin embargo es una herramienta bastante simple y si no podemos obtenerlo por repositorios la compilación del programa es tan simple que ni siquiera necesita explicaciones adicionales, y como una imagen vale más que mil palabras os muestro un ejemplo de uso:
root@shell> ioping -c 10 -s 1M -D /tmp 1048576 bytes from /tmp (ext4 /dev/sda1): request=1 time=34.0 ms 1048576 bytes from /tmp (ext4 /dev/sda1): request=2 time=23.0 ms 1048576 bytes from /tmp (ext4 /dev/sda1): request=3 time=23.2 ms ... --- /tmp (ext4 /dev/sda1) ioping statistics --- 10 requests completed in 9268.4 ms, 37 iops, 37.4 mb/s min/avg/max/mdev = 23.0/26.7/34.0/4.4 ms
Por tanto, ioping permite obtener la latencia de entrada/salida de disco pudiéndonos ser útil para saber la potencia de lectura o escrita que el disco ofrece, empleando o no la caché. Las principales opciones que presenta son:
- -c count
Se ejecuta count veces y luego termina ofreciendo una estadística de resultados. - -s size
Establece el tamaño de la lectura/escritura que realizará. - -L
Realiza las operaciones de forma secuencial y no aleatorias. - -C
Comprueba la latencia del disco empleando la caché. - -D
Comprueba la latencia escribiendo en disco directamente.
Para más información, consultar la página de su manual.
Página oficial de ioping: code.google.com/ioping
Comando hdparm
El comando hdparm (que se encuentra ya instalado en la mayoría de las distribuciones Linux) es muy versátil, nos permite obtener información general acerca de nuestro disco duro y también permite realizar ajustes de configuración.
Sólo voy a hacer referencia a una combinación de parámetros que se puede usar para sacar estadísticas del rendimiento de nuestro disco duro, los que queráis saber todo lo que puede ofrecer este comando os sugiero que echéis un vistazo al manual de uso (man hdparm).
Para realizar la prueba de rendimiento tenemos que escribir lo siguiente:
root@shell> hdparm -tT /dev/sda /dev/sda: Timing cached reads: 7864 MB in 2.00 seconds = 3935.41 MB/sec Timing buffered disk reads: 204 MB in 3.00 seconds = 67.98 MB/sec
Bien, espero que vuestras pruebas de rendimiento den buenos resultados y estos comandos os sean de utilidad.
-
Hardware
- Cómo Imprimir desde la Línea de Comandos en Linux y Solucionar Problemas con Impresoras en Red
- Los 5 mejores comandos de Linux para solucionar problemas (y cómo los uso)
- 5 comandos de Linux para encontrar rápidamente la información de tu Sistema Operativo
- El controlador de gráficos NVIDIA 560 Linux adoptará completamente módulos de kernel de GPU de código abierto
- El 84% de los usuarios de PC no están dispuestos a pagar más por un hardware con soporte para IA, según una encuesta
- ¿PC con Linux o Windows 11 Copilot+? TUXEDO presenta el portátil Snapdragon X Elite ARM
- La startup finlandesa 'Flow' afirma que puede multiplicar por 100 la potencia de cualquier CPU con su chip complementario
- China lanza el buque portacontenedores eléctrico más grande del mundo
- Testar el rendimiento de discos duros en Linux
- ¿Por qué los portátiles están soldando sus RAM a la placa?
- TUXEDO Sirius 16 Gen2, el portátil de juegos Linux completamente AMD, recibe un CPU Ryzen 7 más rápido
- Clonezilla Live ahora está parcheado contra la puerta trasera XZ, con tecnología Linux 6.7
- La computadora de escritorio LXQt 2.0 se lanza en abril con un nuevo menú de aplicaciones y portado a Qt 6
- Lanzamiento del controlador de gráficos NVIDIA 550.54.14 para Linux con muchas mejoras
- El firmware BIOS/UEFI de código abierto Libreboot agrega más soporte de hardware