Capítulo 4. Comprobación del rendimiento de VDO

Puede realizar una serie de pruebas para medir el rendimiento de VDO, obtener un perfil de rendimiento de su sistema con VDO y determinar qué aplicaciones funcionan bien con VDO.

Requisitos previos

  • Hay uno o más dispositivos de bloque físico Linux disponibles.
  • El dispositivo de bloque de destino (por ejemplo, /dev/sdb) es mayor que 512 GiB.
  • El probador de E/S flexible (fio) está instalado.
  • VDO está instalado.

4.1. Preparación de un entorno para las pruebas de rendimiento de VDO

Antes de probar el rendimiento del VDO, debe considerar la configuración del sistema anfitrión, la configuración del VDO y las cargas de trabajo que se utilizarán durante las pruebas. Estas elecciones afectan a la evaluación comparativa de la eficiencia del espacio, el ancho de banda y la latencia.

Para evitar que una prueba afecte a los resultados de otra, debe crear un nuevo volumen VDO para cada iteración de cada prueba.

4.1.1. Consideraciones antes de probar el rendimiento de VDO

Las siguientes condiciones y configuraciones afectan a los resultados de la prueba VDO:

Configuración del sistema

  • Número y tipo de núcleos de CPU disponibles. Puedes listar esta información utilizando la utilidad taskset.
  • Memoria disponible y memoria total instalada
  • Configuración de los dispositivos de almacenamiento
  • Programador de disco activo
  • Versión del núcleo de Linux
  • Paquetes instalados

Configuración de VDO

  • Esquema de partición
  • Sistemas de archivos utilizados en volúmenes VDO
  • Tamaño del almacenamiento físico asignado a un volumen VDO
  • Tamaño del volumen lógico VDO creado
  • Indexación UDS dispersa o densa
  • Índice UDS en el tamaño de la memoria
  • Configuración del hilo VDO

Cargas de trabajo

  • Tipos de herramientas utilizadas para generar datos de prueba
  • Número de clientes simultáneos
  • La cantidad de bloques duplicados de 4 KiB en los datos escritos
  • Patrones de lectura y escritura
  • El tamaño del conjunto de trabajo

4.1.2. Consideraciones especiales para comprobar el rendimiento de lectura de VDO

Debe tener en cuenta estos factores adicionales antes de probar el rendimiento de lectura de VDO:

  • Si un bloque de 4 KiB no se ha escrito nunca, VDO no lee del almacenamiento y responde inmediatamente con un bloque cero.
  • Si se ha escrito un bloque de 4 KiB pero contiene todos ceros, VDO no lee del almacenamiento y responde inmediatamente con un bloque cero.

Este comportamiento da lugar a un rendimiento de lectura muy rápido cuando no hay datos que leer. Por ello, las pruebas de lectura deben rellenar previamente el volumen con datos reales.

4.1.3. Preparación del sistema para probar el rendimiento de VDO

Este procedimiento configura los ajustes del sistema para lograr un rendimiento óptimo de VDO durante las pruebas.

Importante

La realización de pruebas más allá de los límites indicados en cualquier prueba concreta podría dar lugar a la pérdida de tiempo de prueba debido a resultados anormales.

Por ejemplo, las pruebas de VDO describen una prueba que realiza lecturas aleatorias sobre un rango de direcciones de 100 GiB. Para probar un conjunto de trabajo de 500 GiB, debe aumentar la cantidad de RAM asignada para la caché del mapa de bloques de VDO en consecuencia.

Procedimiento

  1. Asegúrese de que su CPU está funcionando en su configuración de mayor rendimiento.
  2. Si es posible, desactive el escalado de frecuencia de la CPU mediante la configuración de la BIOS o la utilidad de Linux cpupower.
  3. Si es posible, active el ajuste dinámico de la frecuencia del procesador (Turbo Boost o Turbo Core) para la CPU. Esta función introduce cierta variabilidad en los resultados de las pruebas, pero mejora el rendimiento general.
  4. Los sistemas de archivos pueden tener un impacto único en el rendimiento. Suelen sesgar las mediciones de rendimiento, lo que hace más difícil aislar el impacto de VDO en los resultados.

    Si es razonable, mida el rendimiento en el dispositivo de bloques sin procesar. Si no es posible, formatee el dispositivo utilizando el sistema de archivos que VDO utilizará en la implementación de destino.