Las operaciones de entrada/salida por segundo ( IOPS , pronunciado eye-ops ) es una medida del rendimiento de entrada/salida que se utiliza para caracterizar los dispositivos de almacenamiento de la computadora , 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 , las cifras de IOPS publicadas 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 manera 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). Sin especificaciones simultáneas de tiempo de respuesta y carga de trabajo, las IOPS esencialmente no tienen sentido. De forma aislada, IOPS puede considerarse análogo 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 un número determinado de RPM describe completamente las capacidades del motor.
El número específico de IOPS posibles en cualquier configuración del sistema variará mucho, dependiendo de las variables que el evaluador ingrese en el programa, incluido el equilibrio de las operaciones de lectura y escritura, la combinación de patrones de acceso secuencial y aleatorio , el número de subprocesos de trabajo y colas. profundidad, 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 precondicionamiento que deben tenerse 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:
Para HDD y dispositivos de almacenamiento electromecánicos similares, los números de IOPS aleatorios dependen principalmente del tiempo de búsqueda aleatoria del dispositivo de almacenamiento , mientras que, para SSD y dispositivos de almacenamiento de estado sólido similares, los números de IOPS aleatorios dependen principalmente del controlador interno y la interfaz de memoria del dispositivo de almacenamiento. velocidades. En ambos tipos de dispositivos de almacenamiento, los números de IOPS secuenciales (especialmente cuando se utiliza un tamaño de bloque grande) normalmente indican el ancho de banda sostenido máximo que el dispositivo de almacenamiento puede manejar. [1] A menudo, las IOPS secuenciales se informan como un simple número de megabytes por segundo de la siguiente manera:
(luego convertido a MB/s )
El rendimiento de algunos HDD/SSD mejorará a medida que aumente el número 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 de comandos y la reordenación, comúnmente denominada cola de comandos etiquetada (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 observar ningún beneficio en el rendimiento. [ cita necesaria ] Los discos duros SATA de clase empresarial, como Western Digital Raptor y Seagate Barracuda NL, mejorarán en casi un 100% con colas profundas. [4] Las unidades SCSI de alta gama que se encuentran más comúnmente en servidores generalmente muestran una mejora mucho mayor: Seagate Savvio supera los 400 IOPS, lo que duplica con creces su rendimiento. [ cita necesaria ]
Si bien los HDD tradicionales tienen aproximadamente las mismas IOPS para operaciones de lectura y escritura, muchos SSD y memorias USB basados en flash NAND escriben mucho más lentamente que leen debido a la incapacidad de reescribir directamente en una ubicación previamente escrita, 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, los IOPS entregados por el Intel X25-E 64 GB G1 comenzaron alrededor de 10000 IOP y cayeron drásticamente después de 8 minutos. a 4000 IOPS y continuó disminuyendo gradualmente durante los siguientes 42 minutos. Los IOPS varían entre 3000 y 4000 a partir de aproximadamente 50 minutos en adelante, durante el resto de las más de 8 horas que duró la prueba. [8] Incluso con la caída en IOPS aleatorias después del minuto 50, el X25-E todavía tiene IOPS mucho más altos en comparación con las unidades de disco duro tradicionales. Algunos SSD, incluido el OCZ RevoDrive 3 x2 PCIe que utiliza el controlador SandForce , han mostrado un rendimiento de escritura sostenido mucho mayor que se acerca más a la velocidad de lectura. [9] Por ejemplo, un sistema operativo típico tiene muchos archivos pequeños (como DLL ≤ 128 kB), por lo que SSD es más adecuado para la unidad del sistema. [10]
El tamaño de bloque utilizado durante las pruebas afecta significativamente la cantidad de IOPS realizadas por una unidad determinada. Consulte a continuación algunas cifras de rendimiento típicas: [11]
{{cite journal}}
: Citar diario requiere |journal=
( ayuda ){{cite web}}
: Mantenimiento CS1: copia archivada como título ( enlace ){{cite web}}
: Mantenimiento CS1: copia archivada como título ( enlace ){{cite web}}
: Mantenimiento CS1: copia archivada como título ( enlace )Samsung prueba productos NVMe con cuatro trabajadores en QD4