Cómo calcular y optimizar el rendimiento de tu sistema de almacenamiento

Cuando se trata de medir el rendimiento general de un sistema de almacenamiento, las Operaciones de Entrada/Salida Por Segundo (IOPS, por sus siglas en inglés) siguen siendo la métrica más comúnmente utilizada. Hay varios factores que influyen en el cálculo de la capacidad de IOPS de un sistema de almacenamiento individual.

En este artículo, proporciono información introductoria que explica los cálculos que te ayudarán a determinar lo que tu sistema puede hacer. Específicamente, expliqué cómo los componentes individuales del almacenamiento afectan la capacidad general de IOPS. No entro en fórmulas matemáticas complicadas, pero te proporciono orientación práctica y algunas fórmulas que podrían ayudarte en tu planificación. Aquí hay tres notas para tener en cuenta al leer el artículo:

  • Los cálculos de IOPS publicados no son la única característica del almacenamiento. Los proveedores a menudo miden los IOPS bajo las mejores condiciones, así que depende de ti verificar la información y asegurarte de que la solución cumpla con las necesidades de tu entorno.
  • Los cálculos de IOPS varían considerablemente según el tipo de carga de trabajo que se maneje. En general, hay tres categorías de rendimiento relacionadas con IOPS: rendimiento aleatorio, rendimiento secuencial y una combinación de ambos, que se mide cuando se evalúa el rendimiento aleatorio y secuencial al mismo tiempo.
  • La información presentada aquí pretende ser muy general y se centra principalmente en las cargas de trabajo aleatorias.
Índice de Contenido
  1. Cálculos de IOPS
  2. Arreglos multidisco
  3. La penalización de IOPS de RAID
  4. La elección del transporte
  5. Resumen
  6. ¿Quieres mantenerte al día con las publicaciones de Scott Lowe en Newsmatic?

Cálculos de IOPS

Cada disco en tu sistema de almacenamiento tiene un valor teórico máximo de IOPS que se basa en una fórmula. El rendimiento del disco, y los IOPS, se basan en tres factores clave:

  • Velocidad de rotación (también conocida como velocidad de huso). Se mide en revoluciones por minuto (RPM), la mayoría de los discos que considerarás para el almacenamiento empresarial giran a velocidades de 7,200, 10,000 o 15,000 RPM, siendo las últimas dos las más comunes. Una velocidad de rotación más alta está asociada con un disco de mayor rendimiento. Este valor no se utiliza directamente en los cálculos, pero es muy importante. Los otros tres valores dependen en gran medida de la velocidad de rotación, así que los he incluido para mayor completitud.
  • Latencia promedio. El tiempo que tarda el sector del disco al que se accede en rotar en la posición correcta bajo la cabeza de lectura/escritura.
  • Tiempo promedio de búsqueda. El tiempo (en ms) que tarda la cabeza de lectura/escritura del disco duro en posicionarse sobre la pista que se está leyendo o escribiendo. Hay tiempos de búsqueda tanto de lectura como de escritura; utiliza el promedio de estos dos valores.

Para calcular el rango de IOPS, utiliza esta fórmula: IOPS promedio: Divide 1 entre la suma de la latencia promedio en ms y el tiempo promedio de búsqueda en ms (1 / (latencia promedio en ms + tiempo promedio de búsqueda en ms)).

Disco de muestra:

  • Modelo: Disco duro Western Digital VelociRaptor 2.5" SATA
  • Velocidad de rotación: 10,000 RPM
  • Latencia promedio: 3 ms (0.003 segundos)
  • Tiempo promedio de búsqueda: 4.2 (lectura)/4.7 (escritura) = 4.45 ms (0.0045 segundos)
  • IOPS calculados para este disco: 1/(0.003 + 0.0045) = alrededor de 133 IOPS

Entonces, este disco de muestra puede admitir alrededor de 133 IOPS. Al comparar esto con la tabla a continuación, verás que el valor de 133 se encuentra dentro del rendimiento real observado en el mundo real de los discos de 10K RPM.

Cómo utilizar smartmontools para obtener información sobre la salud de tus discos duros

Sin embargo, en lugar de trabajar con una fórmula para tus discos individuales, hay varios recursos disponibles que describen los valores de IOPS observados promedio para diferentes tipos de discos. Para facilitar los cálculos, utiliza estos valores a menos que pienses que tus propios discos varían considerablemente por alguna razón.

A continuación, enumeraré algunos de los valores que he visto y utilizado en mi entorno para fines de planificación aproximada. Como puedes ver, los valores para cada tipo de disco no cambian radicalmente de una fuente a otra.

Fuentes:

  • [fuente 1]
  • [fuente 2]
  • [fuente 3]

Nota: El tipo de disco no entra en la ecuación en absoluto. Es cierto que los discos SAS tienen un mejor rendimiento que la mayoría de los discos SATA, pero eso es solo porque los discos SAS generalmente se utilizan para aplicaciones empresariales debido a su mayor confiabilidad, como se demuestra mediante sus valores de tiempo promedio entre fallas (MTBF, por sus siglas en inglés). Si un proveedor decidiera lanzar un disco SATA de 15K RPM con valores bajos de latencia y tiempo de búsqueda, también tendría un alto valor de IOPS.

Arreglos multidisco

Las empresas no instalan un solo disco a la vez, por lo que los cálculos anteriores son bastante irrelevantes a menos que puedan ser traducidos a conjuntos multidisco. Afortunadamente, es fácil traducir los valores brutos de IOPS de un solo disco a implementaciones de múltiples discos; es una operación de multiplicación simple. Por ejemplo, si tienes diez discos de 15K RPM, cada uno con una capacidad de 175 IOPS, tu sistema de discos tiene una capacidad de rendimiento de 1,750 IOPS. Pero esto solo se aplica si optas por una implementación de RAID-0 o simplemente un montón de discos (JBOD). En el mundo real, rara vez se utiliza RAID 0 porque la pérdida de un solo disco en la matriz resultaría en la pérdida de todos los datos de la matriz.

Veamos qué sucede cuando comiences a considerar otros niveles de RAID.

Consejos para mejorar la utilidad a largo plazo de tus archivos

La penalización de IOPS de RAID

Quizás el componente de cálculo de IOPS más importante que debes comprender se encuentra en el ámbito de la penalización de escritura asociada a varios niveles de RAID. Con la excepción de RAID 0, que es simplemente una matriz de discos conectados en serie para crear un grupo de almacenamiento más grande, las configuraciones de RAID se basan en el hecho de que las operaciones de escritura realmente resultan en múltiples escrituras en la matriz. Esta característica es la razón por la que diferentes configuraciones de RAID son adecuadas para diferentes tareas.

Por ejemplo, para cada solicitud de escritura aleatoria, RAID 5 requiere muchas operaciones de disco, lo que tiene un impacto significativo en los cálculos de IOPS brutos. Para fines generales, acepta que las escrituras de RAID 5 requieren 4 IOPS por operación de escritura. La mayor tolerancia a fallas por doble fallo de RAID 6 es aún peor en este sentido, lo que resulta en una "penalización de IO" de 6 operaciones; en otras palabras, planifica 6 IOPS para cada operación de escritura aleatoria. Para las operaciones de lectura en RAID 5 y RAID 6, un IOPS es un IOPS; no hay un impacto negativo en el rendimiento o los IOPS con las operaciones de lectura. Además, ten en cuenta que RAID 1 impone una penalización de IO de 2 a 1.

La tabla a continuación resume las penalizaciones de lectura y escritura de RAID para los niveles de RAID más comunes.

Los sistemas de RAID basados en paridad también introducen otro procesamiento adicional que resulta de la necesidad de calcular la información de paridad. Cuanta más protección de paridad agregues a un sistema, mayor será la sobrecarga de procesamiento que tendrás. Como podrías esperar, la penalización impuesta en general depende del equilibrio entre las cargas de trabajo de lectura y escritura.

Una buena fórmula de punto de partida se muestra a continuación. Esta fórmula no utiliza el valor de IOPS de la matriz; utiliza un valor de IOPS de la carga de trabajo que obtendrías tú mismo o mediante alguna herramienta de cálculo, como la calculadora de Exchange Server.

(Total de IOPS de la carga de trabajo * Porcentaje de la carga de trabajo que son operaciones de lectura) + (Total de IOPS de la carga de trabajo * Porcentaje de la carga de trabajo que son operaciones de escritura * Penalización de IO de RAID)

Diferencias entre almacenamiento a nivel de bloque y a nivel de archivo: Cuál elegir

Fuente: [fuente]

Como ejemplo, supongamos lo siguiente:

  • Necesidad total de IOPS: 250 IOPS
  • Carga de trabajo de lectura: 50%
  • Carga de trabajo de escritura: 50%
  • Nivel de RAID: 6 (penalización de IO de 6)

Resultado: Necesitarías una matriz que pueda admitir 875 IOPS para soportar una carga de trabajo de RAID 6 de 250 IOPS que sea 50% escritura.

Esto podría ser una sorpresa desagradable para algunas organizaciones, ya que indica que el número de discos podría ser más importante que el tamaño (es decir, necesitarías doce discos de 7,200 RPM, siete discos de 10K RPM o cinco discos de 15K RPM para soportar esta necesidad de IOPS).

La elección del transporte

También es importante entender lo que no se incluye en los números brutos: la elección del transporte, es decir, iSCSI o Fibre Channel. Si bien la elección del transporte es un factor importante para muchas organizaciones, no afecta directamente los cálculos de IOPS (ninguna de las fórmulas considera el transporte que se utiliza).

Si quieres más pruebas de que la elección iSCSI/Fibre Channel no necesariamente impacta directamente tus cálculos de IOPS, lee este artículo en el sitio web de NetApp.

Diferencias entre discos SAS

La elección del transporte es importante, pero no es la elección principal que muchos creerían. Para organizaciones más grandes que tienen necesidades de transporte significativas (es decir, entre los servidores y el almacenamiento), Fibre Channel es una buena opción, pero esta elección no conduce el carro de los IOPS.

Resumen

Para entender a fondo tus necesidades de IOPS, necesitas saber mucho, incluyendo detalles técnicos específicos del disco, el desglose de tu carga de trabajo como función de lectura vs. escritura y el nivel de RAID que planeas utilizar. Una vez que implementes tu solución, puedes utilizar herramientas hechas a medida para el análisis de IOPS, como Iometer, para obtener valores de rendimiento específicos en tiempo real. Esto supone que tienes una solución en su lugar que se puede medir.

Si aún estás en las etapas de planificación o no necesitas un nivel profundo de análisis para tus necesidades, las generalidades presentadas en este artículo te ayudarán a determinar tus necesidades.

¿Quieres mantenerte al día con las publicaciones de Scott Lowe en Newsmatic?

  • Suscríbete automáticamente al boletín de Servidores y Almacenamiento
  • Suscríbete al feed RSS de Servidores y Almacenamiento
  • Sigue a Scott Lowe en Twitter

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Almacenamiento, allí encontraras muchos artículos similares a Cómo calcular y optimizar el rendimiento de tu sistema de almacenamiento , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.