Cómo comprobar el rendimiento de un disco duro en un servidor Linux

Discos durosLinux

La velocidad del disco duro es un parámetro muy relevante, ya que puede aumentar la velocidad de carga de tu web y, con ello, aumentar tu ranking en los buscadores. En ocasiones, si hospedas proyectos web en tu servidor, la velocidad del disco duro puede suponer un cuello de botella si no cumple unos mínimos, puesto que cuando varios usuarios visitan tu web concurrentemente, las operaciones de lectura y escritura (I/O) se disparan. Es por ello que nunca está de más asegurarse de que la velocidad del disco duro de tu servidor o de tu VPS es la correcta.

Actualmente es ya raro encontrar proveedores de hosting o de servidores que usen exclusivamente discos duros clásicos, contando la mayoría con discos duros SSD o discos duros HDD con tecnología SSD caching. Sin embargo, son aún muchos los servidores de gama baja que incluyen discos duros magnéticos. Sea cual sea tu caso, a continuación puedes ver los comandos que debes ejecutar para comprobar la velocidad de tu disco duro.

Comprobando la Velocidad del disco duro con el Comando dd

Con el comando dd de Linux podemos copiar una serie de bytes para así saber la velocidad de escritura del disco duro:

dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync && rm -rf test

La velocidad mínima aceptable de transferencia de datos para un disco duro de un servidor es actualmente de 90 MB/S. Si la velocidad de tu disco duro es inferior, deberías cambiar de servidor o buscar otro proveedor en caso de que el actual no ofrezca discos duros más rápidos. Para un disco duro SSD, la velocidad mínima es de 120 MB/S, pero si tu disco duro es relativamente, bueno, la velocidad podría esta entorno a los 600 MB/s.

Comprobando la latencia del disco duro con el comando ioping

La utilidad ioping nos permitirá comprobar las latencias del disco duro. Dependiendo de la distribución de Linux que utilices, tendrás que instalar ioping con uno de estos dos comandos:

  • Fedora / RHEL / CentOS: Para instalar ioping en sistemas RHEL/CentOS, usa estos comandos:
    yum install epel-release
    yum install ioping
  • Ubuntu / Debian / Mint: Si usas Ubuntu o Debian, debes utilizar este comando para instalar ioping:
    apt-get install ioping
  • Arch Linux: Si usas Arch Linux, puedes instalar iopong con pacman:
    sudo pacman -S ioping
  • MacOS: Si quieres instalar ioping en MacOS debes utilizar brew:
    brew install ioping
  • FreeBSD: Puedes instalar ioping en FreeBSD con el comando pkg:
    pkg install ioping
  • OpenBSD: Puedes instalar ioping en OpenBSD con el comando pkg_add:
    pkg_add ioping

Una vez instalado ioping, ya puedes comprobar la latencia del disco duro con este comando:

ioping -c 10 .

Una posible salida al comando anterior podría ser la siguiente, tomando como ejemplo un disco duro SSD de gama baja:

[root@neoguias ~]# ioping -c 15 .
4 KiB <<< . (ext4 /dev/md2): request=1 time=231.0 us (warmup)
4 KiB <<< . (ext4 /dev/md2): request=2 time=292.4 us
4 KiB <<< . (ext4 /dev/md2): request=3 time=306.2 us
4 KiB <<< . (ext4 /dev/md2): request=4 time=278.8 us
4 KiB <<< . (ext4 /dev/md2): request=5 time=254.5 us
4 KiB <<< . (ext4 /dev/md2): request=6 time=277.5 us
4 KiB <<< . (ext4 /dev/md2): request=7 time=252.1 us (fast)
4 KiB <<< . (ext4 /dev/md2): request=8 time=278.4 us
4 KiB <<< . (ext4 /dev/md2): request=9 time=222.4 us (fast)
4 KiB <<< . (ext4 /dev/md2): request=10 time=282.6 us
4 KiB <<< . (ext4 /dev/md2): request=11 time=297.3 us
4 KiB <<< . (ext4 /dev/md2): request=12 time=250.5 us
4 KiB <<< . (ext4 /dev/md2): request=13 time=315.6 us (slow)
4 KiB <<< . (ext4 /dev/md2): request=14 time=287.5 us
4 KiB <<< . (ext4 /dev/md2): request=15 time=250.8 us

--- . (ext4 /dev/md2) ioping statistics ---
14 requests completed in 3.85 ms, 56 KiB read, 3.64 k iops, 14.2 MiB/s
generated 15 requests in 14.0 s, 60 KiB, 1 iops, 4.29 KiB/s
min/avg/max/mdev = 222.4 us / 274.8 us / 315.6 us / 24.7 us

Cuanto más baja sea la latencia, mejor. En este ejemplo, la latencia media es de 274.8 us, la media de 222.4 us y al máxima de 315.6 us. No son unos resultados demasiado buenos, por lo que podría ser hora de utilizar un disco duro con mejor rendimiento.


Avatar de Edu Lazaro

Edu Lázaro: Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

“- Hey, Doc. No tenemos suficiente carretera para ir a 140/h km. - ¿Carretera? A donde vamos, no necesitaremos carreteras.”