¿Qué son las pruebas de almacenamiento? Tipos, Concepts & Ejemplo
⚡ Resumen inteligente
Las pruebas de almacenamiento verifican que una aplicación escriba sus datos en los directorios correctos y que tenga suficiente espacio en disco para evitar cierres inesperados, al tiempo que miden la velocidad de respuesta del almacenamiento subyacente bajo una carga realista.
¿Qué son las pruebas de almacenamiento?
Prueba de almacenamiento Es un tipo de prueba de software que se utiliza para verificar si la aplicación de software bajo prueba almacena los datos relevantes en los directorios adecuados y si tiene suficiente espacio para evitar terminaciones inesperadas debido a la falta de espacio en disco. También se le llama pruebas de rendimiento de almacenamiento.
La técnica se sitúa en el lado no funcional de la disciplina: como otras formas de pruebas no funcionalesNo dice nada sobre si una función produce la respuesta correcta, y sí dice todo sobre si el sistema puede seguir produciendo respuestas a medida que aumenta el volumen de datos y la presión de E/S.
¿Por qué realizar pruebas de almacenamiento?
El almacenamiento es la capa más lenta con la que interactúan la mayoría de las aplicaciones, por lo que cualquier debilidad en esta capa se manifiesta en todas partes. Cuatro razones justifican un ciclo de pruebas específico.
- Un almacenamiento lento implica tiempos de respuesta lentos, consultas de larga duración y menor disponibilidad de las aplicaciones.
- El almacenamiento lento supone una carga adicional para el mantenimiento de la infraestructura de servidores.
- Resulta útil conocer los límites prácticos de almacenamiento del sistema antes de su implementación.
- Resulta útil comprender cómo reacciona el sistema cuando se reemplaza o actualiza un dispositivo de hardware.
El diagrama que aparece a continuación sitúa las pruebas de almacenamiento en ese contexto: la aplicación, el sistema de archivos y el dispositivo físico se encuentran en la misma ruta, y cualquier retraso en cualquier punto de ella afecta al usuario.
Tipos de pruebas de almacenamiento
Se utilizan tres enfoques, que se diferencian principalmente en el grado de similitud entre la carga de trabajo y la aplicación real.
- Pruebas de aplicación: Pruebas de la aplicación con consultas de ejemplo en un entorno similar al de producción.
- Simulación de aplicaciones: Realizar las pruebas utilizando software estándar que se comporte de forma similar a la aplicación de destino.
- Benchmarking: Realizar las pruebas utilizando un software de evaluación comparativa estándar que genere una carga de trabajo sintética y repetible.
La primera ofrece el resultado más realista y el menos portable; la tercera proporciona cifras que se pueden comparar entre dispositivos y proveedores, pero dice poco sobre cómo se comportará la propia aplicación.
Pruebas comunes Concepts Participación durante las pruebas de almacenamiento
Cada uno de esos tres tipos se corresponde con un conjunto distinto de actividades, como se resume a continuación.
| Tipos de pruebas de almacenamiento | Ejemplo de actividades de prueba de almacenamiento comunes |
| Prueba de aplicación | Compare los tiempos de respuesta de OLTP Comparar tiempos de ejecución por lotes Compara tasas de transmisión sostenidas |
| Simulación de aplicaciones | Pruebe los IOPS de almacenamiento máximos para bases de datos Prueba el rendimiento máximo de almacenamiento para entornos de transmisión de datos. Prueba la latencia de almacenamiento para aplicaciones de mensajería u otras aplicaciones de un solo hilo. |
| Evaluación comparativa | Pruebas de corrupción de datos |
Métricas clave en las pruebas de almacenamiento
Los resultados del almacenamiento se presentan mediante un pequeño conjunto de números. Analizar solo uno de ellos es la forma más rápida de llegar a una conclusión errónea, ya que se contradicen entre sí.
| Métrico | que mide | Donde más importa |
| IOPS | Operaciones de lectura y escritura completadas por segundo, independientemente del tamaño. | Bases de datos transaccionales y pequeñas escrituras aleatorias |
| Estado latente | Tiempo transcurrido entre el inicio y la finalización de una única operación de E/S. | Mensajería y rutas de aplicación de un solo hilo |
| Throughput | Volumen de datos movidos por segundo, generalmente en MB/s. | Ejecuciones por lotes, copias de seguridad y cargas de trabajo de transmisión |
| Profundidad de la cola | Número de solicitudes pendientes emitidas al mismo tiempo | Cualquier ejecución que deba reflejar una concurrencia real |
La profundidad de la cola merece especial atención. Emitir una solicitud a la vez produce una latencia precisa para una sola solicitud, pero una cifra de IOPS y rendimiento artificialmente baja, razón por la cual un dispositivo puede parecer lento en una prueba y rápido en producción, o viceversa.
Cómo realizar pruebas de almacenamiento
La fiabilidad de una prueba de almacenamiento depende de las condiciones en las que se realizó. La siguiente secuencia garantiza la repetibilidad de los resultados.
- Paso 1) Definir el objetivo. Decide si la prueba consiste en verificar la preparación de la base de datos, determinar el límite de rendimiento o comparar dos dispositivos. Cada objetivo implica una carga de trabajo diferente, y combinarlos produce cifras que no permiten tomar decisiones.
- Paso 2) Dimensionar el conjunto de datos de forma realista. Un conjunto de trabajo lo suficientemente pequeño como para caber en la caché mide la capacidad de la caché, no la del almacenamiento. Debe coincidir con el volumen de datos de producción o, al menos, superar el tamaño de la caché por un amplio margen.
- Paso 3) Elija la combinación y el patrón de lectura/escritura. El acceso aleatorio y el secuencial se comportan de forma muy diferente en el mismo dispositivo, al igual que las combinaciones de lectura/escritura 70/30 y las ráfagas de solo escritura. Utilice la combinación obtenida mediante la monitorización de producción en lugar de la predeterminada.
- Paso 4) Configure la profundidad de la cola y el número de subprocesos. Estos parámetros controlan la cantidad de procesamiento simultáneo que llega al dispositivo, así que regístrelos con cada resultado; una cifra citada sin ellos no se puede reproducir.
- Paso 5) Borre la caché y caliente. Borre las cachés del servidor y del dispositivo entre ejecuciones y, a continuación, descarte el primer intervalo para que se comparen los valores en estado estable en lugar de los del primer acceso.
- Paso 6) Correr el tiempo suficiente. Las ejecuciones cortas ocultan el pico de escritura que aparece cuando una unidad SSD agota su búfer de escritura. Las ejecuciones prolongadas lo exponen.
- Paso 7) Monitorear toda la pila. Registre la utilización del procesador, la memoria y la red junto con los contadores de almacenamiento, para que un cuello de botella en otro lugar no se interprete erróneamente como una limitación de almacenamiento.
- Paso 8) Repita y compare. Ejecute la misma configuración más de una vez y conserve los registros; la variación en el rendimiento entre compilaciones solo es visible en comparación con una línea base almacenada.
Debido a que la misma disciplina se aplica a cualquier medición impulsada por la carga, estas carreras generalmente se planifican junto con pruebas de rendimiento y programado antes de que se congele la versión candidata.
Herramientas de prueba de almacenamiento
Las herramientas se dividen en dos grupos, y la mayoría de los equipos necesitan ambas.
- Generadores de E/S sintéticos. Utilidades como fioIometer y sysbench generan una carga de trabajo descrita con precisión: el tamaño del bloque, la combinación de lectura/escritura, la profundidad de la cola y la duración están declarados, por lo que una ejecución se puede repetir exactamente en otro dispositivo.
- Herramientas de carga a nivel de aplicación. Conductores como JMeter Se pone a prueba la propia aplicación, de modo que el almacenamiento vea el mismo patrón de acceso que crean los usuarios reales, incluidos los planes de consulta y el comportamiento del índice que una herramienta sintética no puede reproducir.
OperaLos contadores del sistema de pruebas completan el panorama. Cualquiera que sea la herramienta que genere la carga, las cifras de almacenamiento deben leerse junto con los contadores del procesador, la memoria y la red; varias técnicas de prueba de almacenamiento, incluidas pruebas de referencia y pruebas de volumen, dependen de esa visión de pila completa para interpretar un resultado correctamente.
Errores al realizar pruebas de almacenamiento
La mayoría de los resultados de almacenamiento no válidos tracVolvemos a un pequeño número de errores evitables.
- Se está monitorizando el rendimiento del servidor incorrecto, por lo que las cifras describen una máquina que no está siendo probada.
- Comparar dispositivos de almacenamiento sin borrar primero la caché del servidor, que mide la memoria en lugar del disco.
- Olvidar monitorizar la utilización del procesador durante las pruebas oculta un cuello de botella relacionado con el procesador tras un síntoma que parece estar relacionado con el almacenamiento.
- Se está probando el rendimiento del almacenamiento con comandos de copia de archivos, que son de un solo hilo, utilizan caché y no son repetibles.

