Compartir a través de


Mejora del rendimiento de los recursos compartidos de archivos de Azure de SMB

En este artículo se explica cómo puede mejorar el rendimiento de los recursos compartidos de archivos de Azure SMB SSD (Premium), incluidos el uso de SMB Multichannel y el almacenamiento en caché de metadatos.

Se aplica a

Modelo de administración Modelo de facturación Nivel multimedia Redundancia Pequeñas y Medianas Empresas (PYME) NFS
Microsoft.Storage Aprovisionado v2 HDD (estándar) Local (LRS) Sí No
Microsoft.Storage Aprovisionado v2 HDD (estándar) Zona (ZRS) Sí No
Microsoft.Storage Aprovisionado v2 HDD (estándar) Geo (GRS) Sí No
Microsoft.Storage Aprovisionado v2 HDD (estándar) GeoZone (GZRS) Sí No
Microsoft.Storage Aprovisionado v1 SSD (Premium) Local (LRS) Sí No
Microsoft.Storage Aprovisionado v1 SSD (Premium) Zona (ZRS) Sí No
Microsoft.Storage Pago por uso HDD (estándar) Local (LRS) Sí No
Microsoft.Storage Pago por uso HDD (estándar) Zona (ZRS) Sí No
Microsoft.Storage Pago por uso HDD (estándar) Geo (GRS) Sí No
Microsoft.Storage Pago por uso HDD (estándar) GeoZone (GZRS) Sí No

Optimización del rendimiento

Las siguientes sugerencias pueden ayudarte a optimizar el rendimiento:

  • Asegúrese de que la cuenta de almacenamiento y el cliente se colocan en la misma región de Azure para reducir la latencia de red.
  • Use aplicaciones multiproceso y distribuya la carga entre varios archivos.
  • Las ventajas de rendimiento de SMB multicanal aumentan con el número de archivos que distribuyen la carga.
  • El rendimiento del recurso compartido SSD está enlazado por el tamaño del recurso compartido aprovisionado, incluidas las IOPS y el rendimiento y los límites de archivos únicos. Para más información, consulte Descripción del modelo de aprovisionamiento v1.
  • El rendimiento máximo de un solo cliente de VM sigue estando enlazado a los límites de máquina virtual. Por ejemplo, Standard_D32s_v3 puede admitir un ancho de banda máximo de aproximadamente 1,86 GiB /s, se mide la salida de la máquina virtual (escrituras en almacenamiento). La entrada (lecturas del almacenamiento) no lo está. El rendimiento de los recursos compartidos de archivos está sujeto a los límites de red de la máquina, las CPU, el almacenamiento interno, el ancho de banda de red disponible, los tamaños de E/S, el paralelismo, así como otros factores.
  • La prueba inicial suele ser una preparación. Descarte los resultados y repita la prueba.
  • Si el rendimiento está limitado por un solo cliente y la carga de trabajo sigue estando por debajo de los límites de cuota provisionados, puede conseguir un mayor rendimiento repartiendo la carga entre varios clientes.

La relación entre IOPS, el rendimiento y los tamaños de E/S

Rendimiento = tamaño de E/S * IOPS

Cuanto mayor sea el tamaño de E/S mayores serán el rendimiento y las latencias, lo que dará lugar a un número menor de IOPS de red. Los tamaños de E/S más pequeños impulsan las IOPS más altas, pero darán lugar a una menor capacidad de proceso y latencias netas. Para más información, consulte Descripción del rendimiento de Azure Files.

SMB multicanal

SMB Multicanal permite a un cliente SMB establecer varias conexiones de red a un recurso compartido de archivos SMB. Azure Files admite SMB multicanal en recursos compartidos de archivos SSD para clientes de Windows. En el lado del servicio, SMB multicanal ahora está habilitado de manera predeterminada para todas las cuentas de almacenamiento recién creadas en todas las regiones de Azure. No hay ningún otro costo para habilitar SMB Multicanal.

Ventajas

SMB multicanal permite a los clientes usar varias conexiones de red que proporcionan un mayor rendimiento a la vez que se reduce el costo de propiedad. El mayor rendimiento se logra a través de la agregación de ancho de banda en varias NIC y el uso de la compatibilidad con Ajuste de escala en lado de recepción (RSS) para que las NIC distribuyan la carga de E/S entre varias CPU.

  • Rendimiento aumentado: varias conexiones permiten la transferencia de los datos a través de varias rutas de acceso en paralelo y, por tanto, benefician significativamente a las cargas de trabajo que usan tamaños de archivo más grandes con tamaños de E/S más grandes, y requieren un alto rendimiento de una sola máquina virtual o un conjunto de máquinas virtuales más pequeño. Entre algunas de estas cargas de trabajo se incluyen medios y entretenimiento para la creación de contenido o la transcodificación, la genómica y el análisis de riesgos de servicios financieros.
  • E/S por segundo más alta: la funcionalidad RSS de NIC permite una distribución de carga eficaz entre varias CPU con varias conexiones. Esto ayuda a lograr una escala de IOPS más alta y un uso eficaz de las CPU de VM. Esto es útil para las cargas de trabajo que tienen tamaños de E/S pequeños, como las aplicaciones de base de datos.
  • Tolerancia a los fallos de la red: varias conexiones mitigan el riesgo de interrupción, ya que los clientes ya no dependen de una conexión individual.
  • Configuración automática: cuando SMB multicanal está habilitado en los clientes y las cuentas de almacenamiento, permite la detección dinámica de las conexiones existentes y puede crear rutas de acceso de conexión adicionales según sea necesario.
  • Optimización de costos: las cargas de trabajo pueden lograr una escala mayor desde una sola máquina virtual o un pequeño conjunto de máquinas virtuales, al conectarse a recursos compartidos de archivos SSD. Esto podría reducir el costo total de propiedad al reducir el número de máquinas virtuales necesarias para ejecutar y administrar una carga de trabajo.

Para obtener más información sobre SMB multicanal, consulte la documentación de Windows.

Esta característica proporciona mayores ventajas de rendimiento a las aplicaciones multiproceso, pero normalmente no ayuda a las aplicaciones de un único subproceso. Consulte la sección Comparación del rendimiento para obtener más detalles.

Limitaciones

SMB Multicanal para la compartición de archivos de Azure tiene las siguientes restricciones actualmente:

  • Solo está disponible para recursos compartidos de archivos SSD. No está disponible para recursos compartidos de archivos de Azure HDD.
  • Solo se admite en clientes que usen SMB 3.1.1. Asegúrese de que los sistemas operativos cliente de SMB tengan las revisiones aplicadas hasta los niveles recomendados.
  • El número máximo de canales es cuatro. Para más información, consulte este artículo.

Configuración

SMB multicanal solo funciona cuando la característica está habilitada tanto en el lado del cliente (su cliente) como en el lado del servicio (su cuenta de almacenamiento de Azure).

En los clientes Windows, SMB multicanal está habilitado de manera predeterminada. Puede comprobar la configuración ejecutando el siguiente comando de PowerShell:

Get-SmbClientConfiguration | Select-Object -Property EnableMultichannel

Si SMB multicanal no está habilitado en la cuenta de Almacenamiento de Azure, consulte estado multicanal de SMB.

Deshabilitar SMB multicanal

En la mayoría de los escenarios, particularmente en las cargas de trabajo multiproceso, los clientes deben ver un rendimiento mejorado con SMB Multicanal. Sin embargo, para algunos escenarios específicos, como las cargas de trabajo con un único subproceso o con fines de prueba, es posible que desee deshabilitar el SMB multicanal. Consulte Comparación de rendimiento y Estado SMB multicanal para obtener más detalles.

Comprobar que SMB Multicanal está configurado correctamente

  1. Cree un nuevo recurso compartido de archivos SSD o use un recurso compartido de archivos SSD existente.
  2. Asegúrese de que el cliente admite SMB multicanal (uno o varios adaptadores de red tienen habilitado el ajuste de escala en el lado de recepción). Consulte la documentación de Windows para obtener más detalles.
  3. Monte un recurso compartido de archivos en el cliente.
  4. Genere carga con la aplicación. Una herramienta de copia como robocopy o MT, o bien cualquier herramienta de rendimiento como Deskspd para archivos de lectura/escritura, pueden generar carga.
  5. Abra PowerShell como administrador y use el siguiente comando: Get-SmbMultichannelConnection |fl
  6. Busque las propiedades MaxChannels y CurrentChannels.

Comparación del rendimiento

Hay dos categorías de patrones de carga de trabajo de lectura/escritura: de un solo subproceso y multiproceso. La mayoría de las cargas de trabajo usan varios archivos, pero podría haber casos de uso específicos en los que la carga de trabajo funcione con un solo archivo en un recurso compartido. En esta sección se tratan diversos casos de uso y el impacto en el rendimiento de cada uno de ellos. En general, la mayoría de las cargas de trabajo son multiproceso y distribuyen la carga de trabajo por varios archivos, por lo que deberían poder observar mejoras significativas en el rendimiento con SMB multicanal.

  • Multihilo/varios archivos: según el patrón de carga de trabajo, deberías observar una mejora significativa en el rendimiento de las operaciones de E/S de lectura y escritura a través de varios canales. Las mejoras de rendimiento varían desde cualquier punto entre 2x y 4x en términos de IOPS, rendimiento y latencia. En esta categoría, SMB multicanal debe habilitarse para obtener el mejor rendimiento.
  • Archivo multiproceso o único: en la mayoría de los casos de uso de esta categoría, las cargas de trabajo se benefician de tener habilitado SMB multicanal, especialmente si la carga de trabajo tiene un tamaño > promedio de E/S ~16k. Algunos escenarios de ejemplo que se benefician de SMB multicanal son la copia de seguridad o la recuperación de un solo archivo grande. Una excepción en la que es posible que desees deshabilitar SMB Multicanal es si tu carga de trabajo consiste principalmente en operaciones de entrada/salida pequeñas. En ese caso, tal vez observes una ligera pérdida de rendimiento (10 %). Dependiendo del caso de uso, considere la posibilidad de distribuir la carga entre varios archivos o deshabilitar la característica. Consulte la sección Configuración para obtener más información.
  • Único hilo/múltiples archivos o un solo archivo: En la mayoría de las cargas de trabajo de un único hilo, existen ventajas mínimas de rendimiento debido a la falta de paralelismo. Por lo general, hay una ligera degradación del rendimiento de ~10 % si el SMB multicanal está habilitado. En este caso, es ideal deshabilitar el SMB multicanal, con una excepción. Si la carga de trabajo de un único subproceso puede distribuir la carga entre varios archivos y usa un tamaño medio de E/S más grande (> ~16 k), deben existir unas ventajas de rendimiento mínimas del SMB multicanal.

Configuración de prueba de rendimiento

En los gráficos de este artículo, se usó la siguiente configuración: una sola máquina virtual D32s v3 Estándar con una sola NIC habilitada para RSS con cuatro canales. La carga se generó mediante diskspd.exe, multiproceso con una profundidad de E/S de 10 y E/S aleatorias con diversos tamaños de E/S.

Archivos multiproceso o varios archivos con SMB multicanal

La carga se realizó con respecto a 10 archivos con diversos tamaños de E/S. Los resultados de la prueba de escalado vertical mostraron mejoras significativas en los resultados de la prueba de rendimiento e IOPS con SMB multicanal habilitado. En los diagramas siguientes se describen los resultados:

Diagrama del rendimiento.

Diagrama del rendimiento.

  • En una sola NIC, para las lecturas, se observó un aumento del rendimiento de entre 2x y 3x, y para las escrituras, se lograron mejoras de 3x a 4x tanto en IOPS como en throughput.
  • SMB multicanal permitió que IOPS y el rendimiento alcanzaran los límites de VM incluso con una sola NIC y el límite de cuatro canales.
  • Dado que la salida (o las lecturas en el almacenamiento) no se mide, la capacidad de lectura pudo superar el límite publicado de la máquina virtual de aproximadamente 1,86 GiB por segundo. La prueba alcanzó >2,7 GiB/s. El ingreso (o escrituras en el almacenamiento) sigue estando sujeto a los límites de la máquina virtual.
  • Repartir la carga en varios archivos permitió hacer mejoras sustanciales.

Un comando de ejemplo utilizado en esta prueba es:

diskspd.exe -W300 -C5 -r -w100 -b4k -t8 -o8 -Sh -d60 -L -c2G -Z1G z:\write0.dat z:\write1.dat z:\write2.dat z:\write3.dat z:\write4.dat z:\write5.dat z:\write6.dat z:\write7.dat z:\write8.dat z:\write9.dat .

Cargas de trabajo multiproceso o de archivo único con SMB Multichannel

La carga se realizó con respecto a un solo archivo de 128 GiB. Con SMB multicanal habilitado, la prueba de escalado vertical con archivos multiproceso o únicos mostró mejoras en la mayoría de los casos. En los diagramas siguientes se describen los resultados:

Diagrama del rendimiento de IOPS.

Diagrama del rendimiento de un solo archivo.

  • En una sola NIC con un tamaño medio de E/S mayor (> ~16 k), había mejoras significativas tanto en las lecturas como en las escrituras.
  • Para tamaños de E/S más pequeños, hubo un ligero impacto de ~10 % en el rendimiento con el SMB multicanal habilitado. Esto podría mitigarse mediante la distribución de la carga por varios archivos, o la deshabilitación de la característica.
  • El rendimiento sigue estando sujeto a los límites de un solo archivo.

Almacenamiento en caché de metadatos para recursos compartidos de archivos SSD

El almacenamiento en caché de metadatos es una mejora para los recursos compartidos de archivos de Azure ssd destinados a mejorar lo siguiente:

  • Reducción de la latencia de metadatos
  • Límites de escala de metadatos elevados
  • Aumentar la coherencia de la latencia, las IOPS disponibles y aumentar el rendimiento de la red

Esta característica mejora las siguientes API de metadatos y se puede usar desde clientes Windows y Linux:

  • Crear
  • Abrir
  • Cerrar
  • Eliminar

Actualmente, esta característica solo está disponible para los recursos compartidos de archivos SSD. No hay ningún costo adicional asociado al uso de esta característica. También puede registrarse para ampliar los límites de manejo de archivos para comparticiones de archivos SSD (versión preliminar).

Registro para la característica de almacenamiento en caché de metadatos

Para comenzar, regístrese para la característica mediante Azure Portal o Azure PowerShell.

  1. Inicie sesión en Azure Portal.
  2. Busque y seleccione Características en versión preliminar.
  3. Seleccione el filtro Tipo y seleccione Microsoft.Storage.
  4. Seleccione Caché de metadatos de Azure Premium Files y, a continuación, seleccione Registrar.

Importante

  • Aunque esté listado en las características de versión preliminar, respetamos los Acuerdos de Nivel de Servicio de disponibilidad general y pronto lo convertiremos en el valor predeterminado para todas las cuentas, eliminando la necesidad de registro.
  • Permitir 2-6 horas para que las cuentas se incorporen una vez completado el registro.

Mejoras de rendimiento con el almacenamiento en caché de metadatos

La mayoría de las cargas de trabajo o los patrones de uso que contienen metadatos pueden beneficiarse del almacenamiento en caché de metadatos. Para determinar si su carga de trabajo contiene metadatos, puede usar Azure Monitor para dividir las transacciones por dimensión de API.

Las cargas de trabajo con grandes volúmenes de metadatos y los patrones de uso típicos incluyen:

  • Servicios web o de aplicaciones
  • Tareas de DevOps
  • Indexación/trabajos por lotes
  • Escritorios virtuales con directorios domésticos u otras cargas de trabajo que interactúan principalmente con muchos archivos pequeños, directorios o manejadores

En los diagramas siguientes se muestran los resultados potenciales.

Reducción de la latencia de metadatos

Al almacenar en caché rutas de acceso de archivos y directorios para búsquedas futuras, el almacenamiento en caché de metadatos puede reducir la latencia de los archivos y directorios a los que se accede con frecuencia un 30 % o más para cargas de trabajo con mucha carga de datos a escala.

Gráfico que muestra la latencia en milisegundos con y sin almacenamiento en caché de metadatos.

Aumento de IOPS disponibles

El almacenamiento en caché de metadatos puede aumentar las IOPS disponibles en más del 60 % para cargas de trabajo con muchos metadatos a escala.

Gráfico que muestra las IOPS disponibles con y sin almacenamiento en caché de metadatos.

Aumento del rendimiento de la red

El almacenamiento en caché de metadatos puede aumentar el ancho de banda de la red en más del 60 % para cargas de trabajo con muchos metadatos a escala.

Gráfico que muestra el rendimiento de red con y sin almacenamiento en caché de metadatos.

Registro para aumentar los límites de identificadores de archivos (versión preliminar)

Para aumentar el número máximo de identificadores simultáneos por archivo y directorio para recursos compartidos de archivos SMB SSD de 2 000 a 10 000, regístrese en la función de vista previa mediante el Azure Portal o el Azure PowerShell. Si tiene preguntas, envíe un correo electrónico a azfilespreview@microsoft.com.

  1. Inicie sesión en Azure Portal.
  2. Busque y seleccione Características en versión preliminar.
  3. Seleccione el filtro Tipo y seleccione Microsoft.Storage.
  4. Seleccione Número máximo de identificadores abiertos de Azure Premium Files y, a continuación, seleccione Registrar.

Pasos siguientes