Con respecto a los IOPS, he visto varias fuentes en la web que sugieren que los IOPS de un número dado de discos es simplemente el IOPS de un solo disco multiplicado por el número de discos.
Si mi comprensión de IOPS es correcta (y no estoy seguro de que lo sea), habría pensado que la realidad dependería, entre muchos otros factores, del nivel de RAID. Con RAID 1/10, todos los datos se duplican en al menos dos discos, lo que reduce la contención en un disco en particular para algunos patrones de E / S. Sin embargo, en niveles RAID rayados, como RAID 0/5/6, los datos se distribuyen en lugar de duplicarse, lo que significa que las solicitudes de lectura consecutivas podrían ser para el mismo eje, lo que llevaría al bloqueo mientras se completa el IO anterior. Las escrituras son aún más contenidas.
Debo agregar que aprecio que la realidad sea mucho más compleja debido a varias optimizaciones y otros factores. Mi pregunta es simplemente conducir si, en un nivel muy básico, mi comprensión de lo que significa IOPS está en el camino correcto. Podría ser que mi afirmación de que IOPS podría estar influenciado por los niveles de RAID de tal manera indica un malentendido básico del concepto.
fuente
Respuestas:
Para HDD , los IOPS generalmente están dominados por el tiempo de acceso del disco, que es la suma de la latencia de búsqueda + retraso rotacional + retraso de transferencia. Como estas variables dependen en gran medida de los patrones de acceso y tienen interacciones no obvias con el diseño RAID específico (es decir, el tamaño de la banda) y el controlador (es decir, sintonización de lectura anticipada), cualquier respuesta simple SERÁ INCORRECTA.
Sin embargo, tratemos de tener una cifra aproximada. En una primera aproximación, las IOPS garantizadas por una matriz de n discos deberían ser n veces las IOPS de un solo disco. Sin embargo, tanto el nivel RAID como el patrón de acceso a datos , al cambiar el peso entre la latencia de búsqueda / rotación / transferencia, cambia drásticamente esta aproximación de primer orden.
Hagamos algunos ejemplos, suponiendo 100 IOPS por cada disco individual (un valor típico para discos de 7200 RPM) y matrices de 4 discos (excepto RAID1, a menudo limitado solo a 2 vías):
Permítanme repetir: lo anterior son aproximaciones simples y casi rotas. De todos modos, si quieres jugar con una calculadora RAID IOPS (muy incompleta), échale un vistazo aquí .
Ahora, vuelve al mundo real. En las cargas de trabajo del mundo real, RAID10 es a menudo la opción más rápida y preferida , manteniendo un alto rendimiento incluso frente a una matriz degradada . RAID5 y RAID6 no deben usarse en cargas de trabajo sensibles al rendimiento, a menos que sean centradas en la lectura o de naturaleza secuencial. Vale la pena señalar que los controladores RAID serios tienen una gran memoria caché de escritura protegida contra pérdida de energía principalmente para superar (mediante el almacenamiento en caché de bandas pesadas) el bajo rendimiento de escritura aleatoria RAID5 / 6. Nunca use RAID5 / 6 con controladores RAID sin caché , a menos que realmente no le importe la velocidad de la matriz.
Las SSD son diferentes bestias, pensó. Como tienen un tiempo de acceso promedio mucho menor, los RAID basados en paridad generan una sobrecarga de rendimiento mucho menor y son una opción mucho más viable que en los HDD. Sin embargo, en una pequeña carga de trabajo centrada en escritura aleatoria, de todos modos usaría una configuración RAID10.
fuente
Es solo una cuestión de definiciones. Puede medir IOPS en diferentes niveles en el sistema y obtendrá diferentes valores. Por ejemplo, suponga que tiene dos discos duplicados y está escribiendo lo más rápido que puede. El IOPS que se dirige a los discos será el doble del número de IOPS que un solo disco puede manejar con una carga de escritura similar. Pero las IOPS que entran en el controlador serán iguales a la cantidad de IOPS que puede manejar un solo disco.
Por lo general, lo que nos importa es la cantidad de IOPS lógicos que podemos obtener en la matriz y no nos importa particularmente lo que está sucediendo a nivel de disco. En ese caso, tiene razón y el IOPS depende del nivel RAID, el número de discos, el rendimiento de los discos individuales y, en algunos casos, las características específicas de las operaciones.
fuente