Home » Rendimiento, benchmarks y generadores de carga

Rendimiento, benchmarks y generadores de carga

La evaluación de los productos de almacenamiento se realiza fundamentalmente atendiendo a los factores de rendimiento, seguridad, administración y precio. De estos factores, el rendimiento es el más difícil de ser interpretado. Es más, lo más frecuente es que sea malinterpretado a la hora de hacer comparativas entre soluciones de almacenamiento de distintos fabricantes.  El ejemplo más claro lo tenemos con el uso de las IOPS (operaciones de E/S por segundo), que con frecuencia se usa como elemento de media del rendimiento.

El valor de IOPS depende de:

Las carecterísticas técnicas de la cabina:  

  • Parámetros de disco (tamaño, velocidad, latencia, …) 
  • Número de discos
  • Nivel de raid
  • Tamaño de stripe
  • Tamaño de cola de puerto de frontend
  • Tamaño de cola de lun de backend
  • Distribución de las distintas cachés de frontend y backend, algoritmos y dedicación para tipos de operación (lectura y escritura).

Y las carecterísticas del trabajo que se genera sobre la cabina:

  • Porcentaje de lecturas y escrituras generadas
  • Porcentajes de media de lecturas y escrituras en caché
  • Tamaño de bloque utilizado por la aplicación
  • Tamaño de IO
  • Tipo de trabajo generado: secuencial / random

Los fabricantes disponen de calculadoras de predicción y que facilitan el complejo cálculo de IOPS en función de dichas características. Un ejemplo podeis encontrarlo aquí:

http://www.itcm.es/Calculadoras/IOPSCalculator.htm

Dado que el valor de IOPS en una cabina de almacenamiento depende de parámetros fundamentales relacionados con el entorno de trabajo, el valor que suelen publicitar los fabricantes  es el valor alcanzado en las condiciones óptimas. Este valor dificilmente se alcanzará en un entorno que no tenga esas mismas condiciones. Debido la multitud de factores que afectan al rendimiento, la única medida fiable será aquella que se obtiene desde el entorno real de trabajo. Se podría deducir que es imposible predecir la solución de almacenamiento que proporcinará mejor rendimiento en un entorno determinado. Quizás sí, con la ayuda de los benchmarks: 

  Un benchmark en almacenamiento emplea una carga de datos (que puede ser obtenida mediante un generador de carga) fijada mediante reglas y con mecanismos de medida determinados, a menudo verificado por terceras partes. El objetivo final es que estos resultados permitan la comparativa entre productos de una forma válida.

 

Existen dos organismos que ofrecen benchmarks para almacenamiento: SPC (Storage Performance Council) y SPEC (Standard Performance Evaluation Corporation).

 

storage_bench

Fuente: http://searchstorage.techtarget.com/

 

Un generador de carga es la herramienta utilizada para simular una carga deseada para realizar medidas bajo determinadas condiciones y ayudar a mostrar el comportamiento del sistema ante determinadas situaciones.

 

Dos de los generadores de carga más utilizados son opensource: vdbench e iometer, aunque existen otros creados por diversos fabricantes de almacenamiento.

vdbench: Generador de carga creado originalmente por Sun Microsystems, desarrollado originalmente para ajustarse a la SPC-2, aunque  puede crear simular multitud de entornos de carga debido a su flexibilidad. En la actualidad está liberado por licencia GPLv2 y multiplataforma. Conjuntamente con SWAT que es una utilidad propiedad en la actualidad de Oracle y disponible gratuitamente para sus clientes, se pueden obtener sus resultados en modo gráfico facilitando enormemente su análisis. 

iometer: Se trata del generador de carga más conocido y usado debido a su sencillez en la parametrización de entorno de carga y a que es gráfico. Liberado por licencia GPLv2.

 

El generador de carga se parametriza para ajustarse a las características de la carga, y de ahí que puedan crearse condiciones favorables para la medidas. Es habitual que un fabricante muestre sus impresionantes resultados sobre un equipo etiquetándo erróneamente la prueba como un benchmark, dando lugar a equivocos cuando se quiere realizar una comparativa con otro producto. Es una idea bastante extendida tomar los generadores de carga como benchmarks, cuando en realidad son solo una parte de estos. Es importante estar alerta ante este tipo de datos a menudo proporcionados por fabricantes ya que los invalida para la comparativa entre productos al no garantizar igualdad de condiciones.

Concluyendo, la mejor manera de realizar comparativas válidas es utilizar benchmarks, dado que son mecanismos estandarizados por la industria del almacenamiento. Están basados en aplicaciones de generación de carga bajo estrictas reglas en la toma de medidas, validado por terceras partes y con uniformidad en la muestra de resultados.

About Jose Luis Viñas

10+ years experienced IT systems engineer (5+ working in critical environments). Strong background delivering quality and reliable services based on client needs and providing rapid responses to user requests. Focus on UNIX systems, storage infrastructure and backup systems.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *