Optimización del rendimiento de servidores de archivos
Debe seleccionar el hardware adecuado para satisfacer la carga web esperada, teniendo en cuenta la carga promedio, la carga máxima, la capacidad, los planes de crecimiento y los tiempos de respuesta. Los cuellos de botella de hardware limitan la eficacia de la optimización del software.
Parámetros generales de optimización para clientes
La siguiente configuración del Registro REG_DWORD puede afectar al rendimiento de los equipos cliente que interactúan con los servidores de archivos SMB:
ConnectionCountPerNetworkInterface
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\ConnectionCountPerNetworkInterface
Se aplica a: Windows 10, Windows 8.1, Windows 8, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2 y Windows Server 2012.
El valor predeterminado es 1 y se recomienda encarecidamente usar ese valor. El intervalo válido es entre 1 y 16. Número máximo de conexiones por interfaz que se establecerá con un servidor para interfaces no RSS.
ConnectionCountPerRssNetworkInterface
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\ConnectionCountPerRssNetworkInterface
Se aplica a: Windows 10, Windows 8.1, Windows 8, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2 y Windows Server 2012.
El valor predeterminado es 4 y se recomienda encarecidamente usar ese valor. El intervalo válido es entre 1 y 16. Número máximo de conexiones por interfaz que se establecerá con un servidor para interfaces RSS.
ConnectionCountPerRdmaNetworkInterface
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\ConnectionCountPerRdmaNetworkInterface
Se aplica a: Windows 10, Windows 8.1, Windows 8, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2 y Windows Server 2012.
El valor predeterminado es 2 y se recomienda encarecidamente usar ese valor. El intervalo válido es entre 1 y 16. Número máximo de conexiones por interfaz que se establecerá con un servidor para interfaces RDMA.
MaximumConnectionCountPerServer
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\MaximumConnectionCountPerServer
Se aplica a: Windows 10, Windows 8.1, Windows 8, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2 y Windows Server 2012.
El valor predeterminado es 32, con un intervalo válido entre 1 y 64. Número máximo de conexiones que se establecerá con un solo servidor que ejecuta Windows Server 2012 en todas las interfaces.
DormantDirectoryTimeout
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DormantDirectoryTimeout
Se aplica a: Windows 10, Windows 8.1, Windows 8, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2 y Windows Server 2012.
El valor predeterminado es de 600 segundos. Tiempo máximo que los controladores del directorio de servidor se mantienen abiertos con las concesiones de directorio.
FileInfoCacheLifetime
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\FileInfoCacheLifetime
Se aplica a Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 y Windows Server 2008.
El valor predeterminado es 10 segundos. Tiempo de espera de caché de información de archivo.
DirectoryCacheLifetime
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DirectoryCacheLifetime
Se aplica a Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 y Windows Server 2008.
El valor predeterminado es 10 segundos. Tiempo de espera de caché de directorio.
Nota
Este parámetro controla el almacenamiento en caché de los metadatos del directorio en ausencia de concesiones de directorio.
Nota
Un problema conocido de Windows 10, versión 1803, afecta a la capacidad de Windows 10 de almacenar en caché directorios grandes. Después de actualizar un equipo a la versión 1803 de Windows 10, tienes acceso a un recurso compartido de red que contiene miles de archivos y carpetas, y abres un documento que se encuentra en ese recurso compartido. Durante ambas operaciones, experimentas retrasos importantes.
Para resolver este problema, instala Windows 10, versión 1809 o posterior.
Para solucionar este problema, establece DirectoryCacheLifetime en 0.
Este problema afecta a las siguientes ediciones de Windows 10:
- Windows 10 Enterprise, versión 1803
- Windows 10 Pro for Workstations, versión 1803
- Windows 10 Pro Education, versión 1803
- Windows 10 Professional, versión 1803
- Windows 10 Education, versión 1803
- Windows 10 Home, versión 1803
DirectoryCacheEntrySizeMax
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DirectoryCacheEntrySizeMax
Se aplica a Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 y Windows Server 2008.
El valor predeterminado es 64 KB. El tamaño máximo de las entradas de caché de directorio.
FileNotFoundCacheLifetime
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\FileNotFoundCacheLifetime
Se aplica a Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 y Windows Server 2008.
El valor predeterminado es 5 segundos. Período de tiempo de caché de archivo no encontrado.
CacheFileTimeout
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\CacheFileTimeout
Se aplica a Windows 8.1, Windows 8, Windows Server 2012, Windows Server 2012 R2 y Windows 7
El valor predeterminado es 10 segundos. Esta configuración controla el período (en segundos) durante el cual el redirector conservará los datos en caché de un archivo después de que una aplicación cierra el último controlador del archivo.
DisableBandwidthThrottling
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DisableBandwidthThrottling
Se aplica a Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 y Windows Server 2008.
El valor predeterminado es 0. De manera predeterminada, el redirector de SMB limita 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 del Registro en 1 deshabilita esta limitación y permite un mayor rendimiento de transferencia de archivos a través de conexiones de red de alta frecuencia.
DisableLargeMtu
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DisableLargeMtu
Se aplica a Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 y Windows Server 2008.
El valor predeterminado es 0 solo para Windows 8. En Windows 8, el redirector de SMB transfiere cargas de hasta 1 MB por solicitud, lo que puede mejorar la velocidad de la transferencia de archivos. Establecer este valor del Registro en 1 limita el tamaño de solicitud a 64 KB. Debe evaluar el impacto de esta configuración antes de aplicarla.
RequireSecuritySignature
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\RequireSecuritySignature
Se aplica a Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 y Windows Server 2008.
El valor predeterminado es 0, lo que deshabilita la firma SMB. Cambiar este valor a 1 habilita la firma SMB para toda la comunicación de SMB, lo que impide la comunicación de SMB con equipos en los que la firma SMB está deshabilitada. La firma SMB puede aumentar el costo de CPU y los recorridos de ida y vuelta de la red, pero ayuda a bloquear ataques de tipo "Man in the middle". Si no se requiere la firma SMB, asegúrese de que este valor de Registro sea 0 en todos los clientes y servidores.
Para más información, consulte los aspectos básicos de la firma SMB.
FileInfoCacheEntriesMax
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\FileInfoCacheEntriesMax
Se aplica a Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 y Windows Server 2008.
El valor predeterminado es 64, con un intervalo válido entre 1 y 65536. Este valor se usa para determinar la cantidad de metadatos de archivo que el cliente puede almacenar en caché. Aumentar el valor puede disminuir el tráfico y aumentar el rendimiento cuando se accede a un gran número de archivos.
DirectoryCacheEntriesMax
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DirectoryCacheEntriesMax
Se aplica a Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 y Windows Server 2008.
El valor predeterminado es 16, con un intervalo válido entre 1 y 4096. Este valor se usa para determinar la cantidad de información de directorio que el cliente puede almacenar en caché. Aumentar el valor puede disminuir el tráfico y aumentar el rendimiento cuando se accede a directorios de gran tamaño.
FileNotFoundCacheEntriesMax
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\FileNotFoundCacheEntriesMax
Se aplica a Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 y Windows Server 2008.
El valor predeterminado es 128, con un intervalo válido entre 1 y 65536. Este valor se usa para determinar la cantidad de información de nombres de archivos que el cliente puede almacenar en caché. Aumentar el valor puede disminuir el tráfico y aumentar el rendimiento cuando se accede a un gran número de nombres de archivos.
MaxCmds
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\MaxCmds
Se aplica a Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 y Windows Server 2008.
El valor predeterminado es 15. Este parámetro limita el número de solicitudes pendientes de una sesión. Aumentar el valor puede usar más memoria, pero puede mejorar el rendimiento al habilitar una canalización de solicitud más profunda. Aumentar el valor junto con MaxMpxCt también puede eliminar los errores que se encuentran debido al gran número de solicitudes de archivo a largo plazo pendientes, como las llamadas de FindFirstChangeNotification. Este parámetro no afecta las conexiones con los servidores SMB 2.0.
DormantFileLimit
HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\DormantFileLimit
Se aplica a Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, Windows Server 2022, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 y Windows Server 2008.
El valor predeterminado es 1023. Este parámetro especifica el número máximo de archivos que se deben dejar abiertos en un recurso compartido una vez que la aplicación cerró el archivo.
Ejemplo de optimización de cliente
Los parámetros generales de optimización de equipos cliente pueden optimizar un equipo para acceder a recursos compartidos de archivos remotos, en especial en algunas redes de alta latencia (como sucursales, comunicación entre centros de datos, oficinas domésticas y banda ancha móvil). Los valores no son óptimos ni adecuados para todos los equipos. Debe evaluar el impacto de cada uno de los valores antes de aplicarlos.
Parámetro | Value | Valor predeterminado |
---|---|---|
DisableBandwidthThrottling | 1 | 0 |
FileInfoCacheEntriesMax | 32 768 | 64 |
DirectoryCacheEntriesMax | 4096 | 16 |
FileNotFoundCacheEntriesMax | 32 768 | 128 |
MaxCmds | 32 768 | 15 |
A partir de Windows 8, puede configurar muchos de estos valores de SMB si usa los cmdlets Set-SmbClientConfiguration y Set-SmbServerConfiguration de Windows PowerShell. Los valores que solo son del Registro también se pueden configurar con Windows PowerShell.
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" RequireSecuritySignature -Value 0 -Force