Almacenamiento

¿Qué es IOPS?

También conocido como: input/output operations per second
Definición

IOPS measures how many individual read or write operations a storage device completes per second. Random 4K IOPS at a queue depth of one is the number that predicts database behaviour; sequential throughput is the number that appears in marketing.

Por qué es importante IOPS

IOPS aleatorios de 4K con profundidad de cola de uno es el número que predice el comportamiento de bases de datos; el rendimiento secuencial es el número que aparece en marketing.

IOPS en la práctica

Cuando realmente ejecutas un servidor, IOPS es lo que observas cuando las consultas se ralentizan. Miras la latencia de lectura aleatoria de 4K de tu base de datos y ves si el disco es el cuello de botella. Si lo es, te mueves a NVMe o agregas más discos. Si lo ignoras, tu aplicación se arrastra bajo carga, y cada consulta lenta te cuesta usuarios. Puedes cambiar tu configuración de almacenamiento, pero no es instantáneo: moverte a un nivel inferior requiere una reconstrucción, y NVMe adicional se adjunta como un segundo dispositivo de bloque. Hacerlo mal significa que tu servidor se siente rápido en las pruebas pero se cae en producción.

Lo que se suele malinterpretar sobre IOPS

La idea errónea es que IOPS es un número fijo. No lo es; depende de la profundidad de cola y el tamaño de bloque. Un disco puede afirmar altos IOPS a profundidades de cola altas, pero lo que importa para las bases de datos es 4K aleatorio a una profundidad de cola de uno. La corrección: si comparas almacenamiento basándote en cifras de marketing, elegirás el dispositivo equivocado. Mira la cifra de profundidad de cola uno.

IOPS — preguntas frecuentes

¿Qué profundidad de cola debo usar para probar IOPS?

Para cargas de trabajo de bases de datos, usa una profundidad de cola de uno. Ese es el número que predice el comportamiento real porque la mayoría de consultas OLTP emiten lecturas únicas e independientes. Profundidades de cola más altas pueden inflar las cifras de IOPS pero no reflejan cómo tu base de datos realmente accede al disco.

¿En qué se diferencian IOPS del rendimiento?

IOPS cuenta operaciones individuales por segundo; el rendimiento mide bytes por segundo. Una transferencia secuencial como una copia de seguridad puede lograr alto rendimiento pero bajos IOPS, mientras que una base de datos hace muchas lecturas aleatorias pequeñas, por lo que IOPS importa más. El marketing a menudo cita el número secuencial.

Más de almacenamiento

NVMe
NVMe es un protocolo de almacenamiento que conecta unidades de estado sólido directamente vía PCIe, alcanzando aproximadamente 500 000 IOPS aleatorias con latencia por debajo de 100 microsegundos.
RAID 10
RAID 10 replica datos entre pares de discos y distribuye los datos a través de los espejos, ofreciendo tanto redundancia como alto rendimiento a costa de la mitad de la capacidad bruta.
Instantánea
Una instantánea es una copia en un punto en el tiempo de un disco de máquina virtual, tomada al instante y almacenada en la misma infraestructura.