Las operaciones de entrada/salida por segundo ( IOPS , pronunciado eye-ops ) son una medida del rendimiento de entrada/salida que se utiliza para caracterizar dispositivos de almacenamiento informáticos como unidades de disco duro (HDD), unidades de estado sólido (SSD) y redes de área de almacenamiento (SAN). Al igual que los puntos de referencia , los números de IOPS publicados por los fabricantes de dispositivos de almacenamiento no se relacionan directamente con el rendimiento de las aplicaciones en el mundo real. [1] [2]
Para describir de forma significativa las características de rendimiento de cualquier dispositivo de almacenamiento, es necesario especificar un mínimo de tres métricas simultáneamente: IOPS, tiempo de respuesta y carga de trabajo (de la aplicación). En ausencia de especificaciones simultáneas de tiempo de respuesta y carga de trabajo, las IOPS carecen esencialmente de significado. De forma aislada, las IOPS pueden considerarse análogas a las "revoluciones por minuto" de un motor de automóvil; es decir, un motor capaz de girar a 10 000 RPM con la transmisión en punto muerto no transmite nada de valor; sin embargo, un motor capaz de desarrollar un par y una potencia específicos a una cantidad determinada de RPM describe plenamente las capacidades del motor.
La cantidad específica de IOPS posibles en cualquier configuración de sistema variará en gran medida, dependiendo de las variables que el evaluador ingrese en el programa, incluido el balance de operaciones de lectura y escritura, la combinación de patrones de acceso aleatorio y secuencial , la cantidad de subprocesos de trabajo y la profundidad de la cola, así como los tamaños de los bloques de datos. [1] Hay otros factores que también pueden afectar los resultados de IOPS, incluida la configuración del sistema, los controladores de almacenamiento, las operaciones en segundo plano del sistema operativo, etc. Además, al probar SSD en particular, hay consideraciones de preacondicionamiento que se deben tener en cuenta. [3]
Las características de rendimiento más comunes medidas son las operaciones secuenciales y aleatorias. Las operaciones secuenciales acceden a ubicaciones en el dispositivo de almacenamiento de manera contigua y generalmente están asociadas con tamaños de transferencia de datos grandes, por ejemplo, ≥ 128 kB . Las operaciones aleatorias acceden a ubicaciones en el dispositivo de almacenamiento de manera no contigua y generalmente están asociadas con tamaños de transferencia de datos pequeños, por ejemplo, 4 kB.
Las características de rendimiento más comunes son las siguientes:
En el caso de los discos duros y otros dispositivos de almacenamiento electromecánicos similares, los números aleatorios de IOPS dependen principalmente del tiempo de búsqueda aleatorio del dispositivo de almacenamiento, mientras que, en el caso de los SSD y otros dispositivos de almacenamiento de estado sólido similares, los números aleatorios de IOPS dependen principalmente de las velocidades de interfaz de memoria y del controlador interno del dispositivo de almacenamiento. En ambos tipos de dispositivos de almacenamiento, los números de IOPS secuenciales (especialmente cuando se utiliza un tamaño de bloque grande) suelen indicar el ancho de banda máximo sostenido que puede manejar el dispositivo de almacenamiento. [1] A menudo, los IOPS secuenciales se informan como un simple número de megabytes por segundo de la siguiente manera:
(luego convertido a MB/s )
Algunos discos duros/SSD mejorarán su rendimiento a medida que aumente la cantidad de E/S pendientes (es decir, la profundidad de la cola). Esto suele ser el resultado de una lógica de controlador más avanzada en la unidad que realiza la cola y reordenación de comandos, comúnmente denominada cola de comandos etiquetados (TCQ) o cola de comandos nativa (NCQ). Muchos discos duros SATA de consumo no pueden hacer esto o su implementación es tan deficiente que no se puede ver ningún beneficio en el rendimiento. [ cita requerida ] Los discos duros SATA de clase empresarial, como Western Digital Raptor y Seagate Barracuda NL, mejorarán casi un 100 % con colas profundas. [ 4 ] Las unidades SCSI de gama alta que se encuentran más comúnmente en servidores, generalmente muestran una mejora mucho mayor, y el Seagate Savvio supera los 400 E/S por segundo, más del doble de su rendimiento. [ cita requerida ]
Si bien los discos duros tradicionales tienen aproximadamente las mismas IOPS para operaciones de lectura y escritura, muchos SSD y memorias USB basados en flash NAND son mucho más lentos escribiendo que leyendo debido a la incapacidad de reescribir directamente en una ubicación escrita previamente, lo que obliga a un procedimiento llamado recolección de basura . [5] [6] [7] Esto ha provocado que los sitios de prueba de hardware comiencen a proporcionar resultados medidos de forma independiente al probar el rendimiento de IOPS.
Los SSD Flash, como el Intel X25-E (lanzado en 2010), tienen IOPS mucho más altos que los HDD tradicionales. En una prueba realizada por Xssist, utilizando Iometer , transferencias aleatorias de 4 KB, relación de lectura/escritura de 70/30, profundidad de cola 4, las IOPS entregadas por el Intel X25-E 64 GB G1 comenzaron alrededor de 10000 IOPS, y cayeron bruscamente después de 8 minutos a 4000 IOPS, y continuaron disminuyendo gradualmente durante los siguientes 42 minutos. Las IOPS varían entre 3000 y 4000 desde aproximadamente los 50 minutos en adelante, durante el resto de las 8+ horas que duró la prueba. [8] Incluso con la caída de las IOPS aleatorias después del minuto 50, el X25-E todavía tiene IOPS mucho más altas en comparación con las unidades de disco duro tradicionales. Algunas unidades SSD, incluida la OCZ RevoDrive 3 x2 PCIe que utiliza el controlador SandForce , han demostrado un rendimiento de escritura sostenida mucho más alto que coincide más estrechamente con la velocidad de lectura. [9] Por ejemplo, un sistema operativo típico tiene muchos archivos pequeños (como DLL ≤ 128 kB), por lo que la SSD es más adecuada para la unidad del sistema. [10]
El tamaño de bloque utilizado durante las pruebas afecta significativamente la cantidad de operaciones de entrada/salida por segundo (IOPS) que realiza una unidad determinada. A continuación, se muestran algunas cifras de rendimiento típicas: [11]
{{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite web}}
: CS1 maint: copia archivada como título ( enlace ){{cite web}}
: CS1 maint: copia archivada como título ( enlace ){{cite web}}
: CS1 maint: copia archivada como título ( enlace )Samsung prueba productos NVMe con cuatro trabajadores en QD4