it-swarm-es.com

Rendimiento de red de Windows (SMB / CIFS)

¿Hay configuraciones de registro u otras configuraciones disponibles para ajustar el rendimiento de la red de Windows (SMB/CIFS)?

Estoy tratando de obtener el máximo rendimiento para operaciones de copia de archivos grandes, pero cualquier configuración sería interesante.

Hasta aquí:

Configuración de TCP

  • Ajustar MTU
  • Habilitar TCP Escala de ventana (RFC 1323). Detalles aquí .
  • Permitir puertos por encima de 5000. Detalles aquí .


Otros factores

  • SMB2 tiene ventajas de rendimiento sobre SMB. Detalles aquí y aquí .


Recursos generales

5
Luke Quinane

¿Cuál es el sistema operativo de su cliente y servidor? Una cosa que puede marcar la diferencia es actualizar sus servidores a Windows 2008 y sus clientes a Vista. Cuando haces esto, puedes aprovechar SMB2 que es menos hablador, tiene búferes más grandes y puede hacer varias cosas en una sola solicitud, lo que la hace menos sensible a la latencia.

5
Zoredache

Comience habilitando TCP Window Scaling (RFC 1323). Aquí hay un excelente artículo que explica cómo hacerlo y qué hace.

Mientras lo hace, probablemente querrá ajustar su TCP Tamaño de ventana. El tamaño adecuado se calcula en función de las condiciones específicas de su red. No tengo mucha experiencia con esto, pero Hay varias calculadoras y/o tutoriales que puede buscar en Google.

4
Ryan Bolger

Desde "Pautas de ajuste de rendimiento para Windows Server 2008" :

Opciones de servidor

TratarHostComoEstableAlmacenamiento

HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\(REG_DWORD)

El valor predeterminado es 0. Este parámetro deshabilita el procesamiento de comandos de descarga de escritura de los clientes. Si el valor de esta entrada es 1, el rendimiento del servidor y la latencia del cliente para servidores con protección de energía pueden mejorar. Las cargas de trabajo que se asemejan al punto de referencia del servidor de archivos NetBench se benefician de este comportamiento.


Créditos asincrónicos

HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\(REG_DWORD)

El valor predeterminado es 512. Este parámetro limita el número de comandos simultáneos "asíncronos" SMB que se permiten en una sola conexión. Algunos clientes de archivos como IIS servidores requieren una gran cantidad de simultaneidad, con solicitudes de notificación de cambio de archivo en particular. El valor de esta entrada se puede aumentar para admitir estos clientes.


Smb2CreditsMin y Smb2CreditsMax

HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\(REG_DWORD)

Los valores predeterminados son 64 y 1024, respectivamente. Estos parámetros permiten que el servidor acelere la concurrencia de operaciones del cliente de forma dinámica dentro de los límites especificados. Algunos clientes pueden lograr un mayor rendimiento con límites de simultaneidad más altos. Un ejemplo es la copia de archivos a través de enlaces de gran ancho de banda y alta latencia.


AdditionalCriticalWorkerThreads

HKLM\System\CurrentControlSet\Control\Session Manager\Executive\(REG_DWORD)

El valor predeterminado es 0, lo que significa que no se agregan subprocesos de trabajo críticos adicionales al número predeterminado. Este valor afecta el número de subprocesos que utiliza la caché del sistema de archivos para solicitudes de lectura anticipada y escritura diferida. El aumento de este valor puede permitir más E/S en cola en el subsistema de almacenamiento y puede mejorar el rendimiento de E/S, especialmente en sistemas con muchos procesadores y hardware de almacenamiento potente.

Cliente

DisableBandwidthThrottling

HKLM\system\CurrentControlSet\Services\lanmanworkstation\parameters\(REG_DWORD)

El valor predeterminado es 0. Esta configuración está disponible a partir de Windows Server 2008 SP2. De forma predeterminada, el redirector SMB acelera el rendimiento en las conexiones de red de alta latencia en algunos casos para evitar tiempos de espera relacionados con la red. Establecer este valor de registro en 1 desactiva esta limitación, lo que permite un mayor rendimiento de transferencia de archivos en -conexiones de red de latencia.

3
Luke Quinane

No es específico de Windows, pero si está ejecutando gigabit ethernet, es posible que desee considerar aumentar la Unidad de transmisión máxima (MTU). Desde el valor predeterminado de 1492 hasta un máximo de 9000. Esto reduce la sobrecarga requerida ya que se requerirían menos fragmentos para transmitir el mismo archivo.

2
hitsuyashi

Si está utilizando el protocolo SMB3, puede mejorar el rendimiento a) agregando varias tarjetas de red en el lado del servidor y habilitando la función multicanal SMB3 b) Si agrega varias tarjetas de red en el lado del cliente, la función de escalado del lado de recepción de SMB3 mejorará el rendimiento c) También puede utilizar SMB Opción directa si tiene tarjetas RDMA.

2
athena

Si su límite es de al menos 1 MByte/s, entonces la función Límites de ancho de banda SMB introducida con Windows Server 2012 R2 es una opción incorporada.

Habilitar SMB Límites de ancho de banda a través de Powershell

Add-WindowsFeature FS-SMBBW
Set-SmbBandwidthLimit –Category Default -BytesPerSecond 1MB
1
mbx

Desde TechNet :

MaxUserPort

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\(REG_DWORD)

Predeterminado: 5000
Rango: 5,000–65,534 (número de puerto)

Especifica el número de puerto más alto que TCP puede asignar cuando una aplicación solicita un puerto de usuario disponible del sistema. Por lo general, los puertos efímeros (los que se usan brevemente) se asignan a los números de puerto 1024 a 5000.

0
Luke Quinane