Resultados de punto de referencia

Completado

Ahora, se examinan los resultados de los puntos de referencia para comprobar las sugerencias de rendimiento analizadas en la unidad anterior. Concretamente, nos centraremos en el uso del conjunto de puntos de referencia SFS de SPEC para generar varios subprocesos que simulen cargas de trabajo de producción de EDA. También se mostrarán los resultados de FIO para examinar algunos procedimientos de rendimiento.

Información general de las dos herramientas de punto de referencia

El conjunto SFS de SPEC es un punto de referencia estándar del sector para EDA. Una carga de trabajo de EDA típica consta de fases funcionales y físicas. La fase funcional impulsa principalmente operaciones aleatorias de metadatos de E/S y del sistema de archivos. La fase física impulsa lecturas y escrituras secuenciales de bloques grandes.

FIO es una herramienta de E/S que puede generar cargas de lectura y escritura secuenciales o aleatorias coherentes para definir puntos de referencia de IOPS y rendimiento de un destino de almacenamiento.

Tipos de volumen en Azure NetApp Files

Azure NetApp Files proporciona dos tipos de volúmenes que se pueden aprovisionar para el almacenamiento de datos en la nube: volúmenes regulares y grandes volúmenes. En la tabla siguiente se resaltan algunas de las principales diferencias entre los dos tipos de volumen. Use esta tabla como guía al elegir el tipo de volumen adecuado para la carga de trabajo.

Límite Volumen normal Gran volumen
Capacidad mínima 100 GiB 50 TiB
Capacidad máxima 100 TiB 500 TiB
Nivel de servicio mínimo admitido Estándar Estándar
Rendimiento máximo observado 4500 MiB/s 10.240 MiB/s
IOPS de lectura máxima observada ~200.000 ~700.000
IOPS de escritura máxima observada ~135.000 ~474.000

Resultados de pruebas comparativas de la herramienta SPEC EDA para volúmenes regulares

En los gráficos de esta sección se muestran las curvas de E/S y latencia. Examinan algunas combinaciones de los procedimientos de rendimiento siguientes:

  • nocto,actimeo=600
  • sysctl tuned
  • nconnect=16

Cuando se aplican los tres procedimientos anteriores, las operaciones de E/S por segundo aumentan y mantienen una latencia baja (menos de 1 milisegundo).

Diagrama en el que se muestran los resultados de SPEC EDA, donde el aumento de E/S sigue manteniendo una latencia baja cuando se aplican los tres procedimientos.

En el gráfico siguiente se muestra que NFSv3 funciona mejor que NFSv4.1 para este tipo de carga de trabajo.

Diagrama en el que se muestran los resultados de SPEC EDA para demostrar que la versión 3 de NFS funciona mejor que la versión 4.1.

En el gráfico siguiente se muestra que rsize=wsize=262144(256 K) funciona mucho mejor que otros valores.

Diagrama en el que se muestran los resultados de SPEC EDA para comparar los valores de tamaño r y w.

Resultados de pruebas comparativas de la herramienta SPEC EDA para grandes volúmenes

Las pruebas de umbral de rendimiento se realizaron en un único volumen grande mediante el banco de pruebas SFS de SPEC con la siguiente configuración:

Tipo de configuración Configuración
Sistema operativo RHEL 9.3 / RHEL 8.7
Tipo de instancia D16s_v5
Recuento de instancias 10
Opciones de montaje nocto,actimeo=600,hard,rsize=262144,wsize=262144,vers=3,tcp,noatime,nconnect=8

Las pruebas comparan las funcionalidades de rendimiento de un gran volumen mediante el banco de pruebas SFS de SPEC en comparación con un volumen normal en Azure NetApp Files.

Escenario Velocidad de E/S a 2 ms MiB/s a 2 ms
Un volumen normal 39 601 692
Un gran volumen 652,260 10,030

Diagrama que compara la latencia y el rendimiento de un gran volumen.

Resultados de pruebas comparativas de la herramienta FIO para volúmenes regulares

Los comandos de FIO siguientes crean puntos de referencia de IOPS y rendimiento, respectivamente.

// FIO commands to benchmark IOPS:
// 8K Random Reads
fio --name=8krandomreads --rw=randread --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting
// 8K Random Writes
fio --name=8krandomwrites --rw=randwrite --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

// FIO commands to benchmark throughput:
// 64K Sequential Reads
fio --name=64kseqreads --rw=read --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting
// 64K Sequential Writes
fio --name=64kseqwrites --rw=write --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

En los dos gráficos siguientes se muestra que, cuando se ajustan nocto,actimeo=600, nconnect=16 y sysctl, Azure NetApp Files puede conseguir IOPS y un rendimiento superiores.

Diagrama en el que se muestran los resultados de FIOS de E/S superior.

Diagrama en el que se muestran los resultados de FIOS de rendimiento superior.

Resultados de pruebas comparativas de la herramienta FIO para grandes volúmenes

En esta sección se describen los umbrales de rendimiento de un único volumen grande mediante el banco de pruebas FIO. Las pruebas se ejecutaron con la siguiente configuración:

Componente Configuración
Tamaño de la máquina virtual de Azure E32s_v5
Límite de ancho de banda de salida de máquinas virtuales de Azure 2000MiB/s (2GiB/s)
Sistema operativo RHEL 8.4
Tamaño de volumen grande 101 TiB Ultra (rendimiento de 10 240 MiB/s)
Opciones de montaje hard,rsize=65536,wsize=65536,vers=3
NOTA: Uso de 262144 y 65536 tenían resultados de rendimiento similares.

256-KiB cargas de trabajo secuenciales (MiB/s)

El gráfico representa una carga de trabajo secuencial de 256 KiB y un conjunto de trabajo de 1 TiB. Muestra que un único volumen grande de Azure NetApp Files puede controlar entre aproximadamente 8 518 escrituras secuenciales puras de MiB/s y 9 970 MiB/s lecturas secuenciales puras.

Gráfico de barras de una carga de trabajo secuencial de 256 KiB en un gran volumen.

Carga de trabajo aleatoria de 8 KiB (IOPS)

El gráfico representa una carga de trabajo aleatoria de 8 KiB y un conjunto de trabajo de 1 TiB. El gráfico muestra que un volumen grande de Azure NetApp Files puede controlar entre aproximadamente 474 000 escrituras aleatorias puras y aproximadamente 709 000 lecturas aleatorias puras.

Gráfico de barras de una carga de trabajo aleatoria en un gran volumen.