Todos los productos
Search
Centro de documentos

File Storage NAS:Preguntas frecuentes sobre el rendimiento

Última actualización: Sep 03, 2026

Este tema responde a las preguntas más frecuentes sobre el rendimiento de los sistemas de archivos File Storage NAS que utilizan el protocolo NFS o SMB.

Rendimiento general

¿Cómo afecta la capacidad de almacenamiento al rendimiento del sistema de archivos?

Depende del tipo de sistema de archivos:

  • Sistema de archivos NAS de uso general: El throughput escala linealmente con la capacidad de almacenamiento; a mayor capacidad, mayor throughput de lectura y escritura. Para obtener más detalles, consulte General-purpose NAS file systems.

  • Sistema de archivos NAS extremo: El rendimiento de lectura y escritura aumenta por niveles conforme crece la capacidad de almacenamiento. Para obtener más detalles, consulte Extreme NAS file systems.

¿Cómo limita el ancho de banda de la instancia ECS el rendimiento de NAS?

El throughput real de NAS está limitado por el ancho de banda de red de la instancia ECS conectada. Por ejemplo, si su sistema de archivos NAS admite 500 MB/s pero su instancia ECS tiene una tarjeta de red de 1 Gbit/s (aproximadamente 125 MB/s), el throughput real se limitará a unos 125 MB/s.

¿Qué sucede cuando el throughput de lectura o escritura supera el umbral?

NAS limita automáticamente la solicitud, lo que incrementa la latencia.

Para aumentar el umbral de throughput:

Para consultar las especificaciones de throughput, véase Performance metrics of General-purpose NAS file systems y Performance metrics of Extreme NAS file systems.

¿Cómo aumento el umbral de throughput de un sistema de archivos NAS de uso general?

Cree un archivo disperso para aumentar la capacidad aprovisionada. El throughput escala linealmente con la capacidad. Para conocer la relación exacta, consulte Specifications of General-purpose NAS file systems.

Cada 1 TiB de capacidad adicional agrega:

  • Sistema de archivos NAS Capacity: +150 MB/s

  • Sistema de archivos NAS Performance: +600 MB/s

Solo se le cobra por el espacio real ocupado por los archivos dispersos. Para obtener detalles sobre precios, consulte Billing of General-purpose NAS file systems.

En Linux, ejecute el comando truncate:

sudo truncate --size=1TB /mnt/sparse_file.txt

En este comando, /mnt es la ruta de montaje en la instancia ECS.

En Windows, utilice fsutil:

fsutil file createnew Z:\sparse_file.txt 1099511627776

En este comando, Z:\ es la ruta de montaje en la instancia ECS.

¿Por qué el recorrido de directorios es lento o no responde?

Esto suele ocurrir al ejecutar ls, usar comodines (* o ?), ejecutar rm -rf o llamar a getdents en un directorio grande o con modificaciones activas. Existen dos causas comunes:

  • El directorio se está modificando. Crear, eliminar o cambiar el nombre de archivos con frecuencia invalida la caché, lo que ralentiza las respuestas.

  • Los metadatos del directorio superan el tamaño de la caché del cliente. Esto provoca desalojos frecuentes de la caché y respuestas lentas.

Para solucionar esto:

  • Mantenga menos de 10,000 archivos por directorio.

  • Evite modificar el directorio mientras lo recorre.

  • Para directorios con más de 10,000 archivos que no se modifican con frecuencia, monte con el protocolo NFSv3 y agregue el parámetro nordirplus para acelerar el recorrido. Pruebe este enfoque antes de implementarlo en producción. Para obtener más detalles, consulte Mount parameters.

Parámetros de montaje NFS

¿Cómo afectan los parámetros de montaje al rendimiento de NAS?

Parámetros clave de montaje NFS y su efecto en el rendimiento:

rsize y wsize

Definen el tamaño máximo de solicitud de lectura/escritura entre el cliente y el servidor. Un valor mayor reduce la cantidad de solicitudes de red y mejora el throughput, especialmente para archivos grandes.

Valor recomendado: 1048576 (1 MB). Valores menores añaden sobrecarga de red y reducen el rendimiento.

hard

Cuando está habilitado, el cliente reintenta continuamente si el servidor NAS deja de estar disponible, esperando hasta que responda. Esto garantiza la integridad de los datos, pero puede provocar que las aplicaciones se bloqueen temporalmente.

Habilite siempre este parámetro. Es adecuado para cargas de trabajo que requieren alta disponibilidad.

timeo

Define cuánto tiempo espera el cliente antes de reintentar una solicitud. Un tiempo de espera corto causa reintentos frecuentes, lo que degrada el rendimiento en redes inestables.

Valor recomendado: 600 (60 segundos). Esto otorga a la red tiempo suficiente para recuperarse.

retrans

Define cuántas veces el cliente NFS reintenta una solicitud fallida. Más reintentos aumentan la tasa de éxito, pero pueden añadir latencia.

Valor recomendado: 2. Esto equilibra el rendimiento y la fiabilidad.

noresvport

Cuando está habilitado, el cliente utiliza un nuevo puerto TCP tras un fallo de red. Esto mejora la fiabilidad de la reconexión.

Habilite siempre este parámetro.

Importante
  • No se recomienda la opción de montaje soft. Puede causar corrupción silenciosa de datos si el servidor no responde a tiempo. Úsela solo si su aplicación puede manejar errores de E/S correctamente y comprende plenamente los riesgos.

  • Evite cambiar cualquier opción de montaje respecto a sus valores predeterminados. Modificar los tamaños de búfer de lectura/escritura o deshabilitar la caché de atributos puede reducir el rendimiento.

Rendimiento de NFS y Linux

¿Cómo mejoro el rendimiento de NAS en Linux?

Hay dos opciones disponibles, según la versión de su kernel.

Opción 1: Usar el parámetro nconnect (kernel 5.3 o posterior)

El parámetro de montaje nconnect permite que un único montaje NFS utilice varias conexiones TCP. Esto aumenta significativamente el throughput para cargas de trabajo de alta concurrencia; las pruebas muestran una mejora de 3 a 6×, hasta 3 GB/s.

Utilice esta opción cuando se ejecuten más de 16 operaciones de E/S simultáneas en una sola instancia ECS.

Requisitos previos: Kernel de Linux 5.3 o posterior. No eleva por sí mismo el umbral de throughput del sistema de archivos NAS.

Agregue nconnect=4 al comando de montaje:

sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,nconnect=4
Importante

El parámetro nconnect aumenta el throughput por instancia, pero no eleva el umbral de throughput del sistema de archivos NAS. No lo habilite para cargas de trabajo de concurrencia única, bloques de datos pequeños o sensibles a la latencia, ya que incrementa la latencia.

Opción 2: Ajustar sunrpc.tcp_slot_table_entries (kernel anterior a 3.10)

El módulo sunrpc controla la cantidad de ranuras de comunicación en un único enlace NFS. Ajustar este valor ayuda cuando existen múltiples operaciones de E/S concurrentes.

  • Para un throughput alto, establezca el número de ranuras en 128.

  • Para baja latencia, establezca el número de ranuras en 16 o menos.

Nota

El parámetro nconnect es más eficaz. Utilice nconnect si su kernel es 5.3 o posterior.

Para consultar las instrucciones, véase How to modify the number of concurrent NFS requests.

¿Cómo mejoro el rendimiento de lectura secuencial NFS en kernel de Linux 5.4 o posterior?

El parámetro read_ahead_kb controla cuántos datos precarga el kernel de Linux durante las lecturas secuenciales. A partir del kernel 5.4, el valor predeterminado es 128 KB, lo cual es demasiado bajo para cargas de trabajo de NAS. Auméntelo a 15 MB (15000 KB) cuando utilice la configuración recomendada en mount options.

Para versiones anteriores del kernel, el valor equivale a NFS_MAX_READAHEAD multiplicado por rsize.

Después de montar el sistema de archivos, ejecute los siguientes comandos. Reemplace nas-mount-point con la ruta de montaje local y read-ahead-kb con el valor deseado en KB:

device_number=$(stat -c '%d' nas-mount-point)
((major = ($device_number & 0xFFF00) >> 8))
((minor = ($device_number & 0xFF) | (($device_number >> 12) & 0xFFF00)))
sudo bash -c "echo read-ahead-kb > /sys/class/bdi/$major:$minor/read_ahead_kb"

Ejemplo usando /mnt como ruta de montaje y configurando read_ahead_kb en 15 MB:

device_number=$(stat -c '%d' /mnt)
((major = ($device_number & 0xFFF00) >> 8))
((minor = ($device_number & 0xFF) | (($device_number >> 12) & 0xFFF00)))
sudo bash -c "echo 15000 > /sys/class/bdi/$major:$minor/read_ahead_kb"

¿Por qué NGINX tarda mucho en escribir registros en un sistema de archivos NAS?

La ruta access_log contiene variables. Cada vez que NGINX escribe una entrada de registro, abre y cierra el archivo de registro. En NAS, cerrar un archivo desencadena un vaciado de datos hacia el servidor para garantizar la consistencia. Este ciclo frecuente de apertura-cierre-vaciado genera una sobrecarga significativa.

Dos soluciones:

Solución 1: Elimine las variables de la directiva access_log y utilice una ruta de archivo fija.

Solución 2: Utilice la directiva open_log_file_cache para almacenar en caché los descriptores de archivo de los registros de uso frecuente. Esto reduce la sobrecarga cuando las rutas de registro contienen variables. Para obtener más detalles, consulte open_log_file_cache.

Configuración recomendada:

open_log_file_cache max=1000 inactive=1m valid=3m min_uses=2;

Rendimiento de SMB y Windows

¿Por qué se retrasan las operaciones de E/S en un sistema de archivos SMB?

Esto suele suceder porque proveedores de red o servicios innecesarios interfieren con la conexión SMB. Causas comunes:

  • Un cliente NFS está instalado pero no se utiliza.

  • El servicio WebClient está habilitado, lo que provoca que Windows intente conexiones WebDAV antes que SMB.

  • El valor del registro ProviderOrder contiene Nfsnp, lo que impide la apertura de archivos.

Para resolver esto:

  1. Compruebe primero la conectividad. Haga ping al nombre de dominio del destino de montaje. Si el ping falla, corrija su configuración de red. Si la latencia es alta, haga ping a la dirección IP del destino de montaje. Si la latencia por IP es mucho menor que la latencia por dominio, revise su configuración de DNS.

  2. Desinstale el cliente NFS si está instalado pero no se utiliza.

  3. Deshabilite el servicio WebClient.

  4. Elimine Nfsnp del registro. Abra HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\NetworkProvider\Order\ProviderOrder. Si el valor contiene Nfsnp, elimínelo y reinicie la instancia ECS.

Nota
  • Utilice la herramienta Fio para comprobar si las métricas de rendimiento son anómalas.

    fio.exe --name=./iotest1 --direct=1 --rwmixread=0 --rw=write --bs=4K --numjobs=1 --thread --iodepth=128 --runtime=300 --group_reporting --size=5G --verify=md5 --randrepeat=0 --norandommap --refill_buffers --filename=\\<mount target address>\myshare\testfio1
  • Utilice tamaños de E/S grandes para operaciones de lectura y escritura. Los tamaños de E/S pequeños consumen más recursos de red. Si no puede cambiar los tamaños de E/S, utilice la clase BufferedOutputStream para escribir datos con un tamaño de búfer específico.

¿Por qué son lentas las operaciones de E/S en clientes SMB de Windows Server?

De forma predeterminada, la opción large mtu está deshabilitada en los clientes SMB de Windows. Esto limita el rendimiento de E/S.

Habilítela modificando el registro:

  1. Abra HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanWorkstation\Parameters.

  2. Cree una clave de tipo de dato DWORD llamada DisableLargeMtu.

  3. Establezca el valor en 0.

  4. Reinicie la instancia ECS para que el cambio surta efecto.

¿Por qué es lenta la primera conexión a un recurso compartido SMB?

Windows intenta proveedores de red innecesarios o lentos antes de llegar al proveedor SMB. La latencia en la resolución de DNS también puede contribuir al retraso.

Aviso

Modificar el registro es una operación de alto riesgo. Antes de continuar, create a system snapshot o haga una copia de seguridad del registro.

Paso 1: Optimizar el orden de los proveedores de red

  1. Presione Win+R, introduzca regedit y abra el Editor del Registro.

  2. Vaya a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order.

  3. Busque y haga doble clic en el valor ProviderOrder.

  4. En el cuadro de texto Value data, busque y elimine las entradas Nfsnp y WebClient. Conserve las comas entre los proveedores restantes.

  5. Haga clic en OK para guardar.

  6. Reinicie la instancia ECS.

Paso 2: Solucionar problemas de latencia en la resolución de DNS

Si el problema persiste después del Paso 1:

  1. Abra el Símbolo del sistema (CMD).

  2. Ejecute ping <mount target address> y registre la latencia.

  3. Ejecute ping <IP address of the mount target> y registre la latencia.

  4. Compare los resultados. Si la latencia por IP es mucho menor que la latencia por dominio, la resolución de DNS es lenta. Compruebe la configuración de DNS en su instancia ECS.

¿Cómo mejoro el rendimiento de acceso de IIS a NAS?

Cuando Internet Information Services (IIS) accede a archivos en un directorio compartido de NAS, puede emitir múltiples solicitudes al backend por cada archivo, y cada una requiere un viaje de ida y vuelta por la red. Las solicitudes individuales son rápidas, pero la latencia acumulada ralentiza la respuesta al cliente.

Solución 1: Aumentar la duración de la caché del Redirector SMB

Utilice el componente Redirector SMB para almacenar en caché los metadatos de los archivos. Para más contexto, consulte SMB2 Client Redirector Caches Explained.

Abra HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters y establezca cada uno de estos valores en 600 o superior:

  • FileInfoCacheLifetime

  • FileNotFoundCacheLifetime

  • DirectoryCacheLifetime

Nota

Si estos valores de registro no existen, compruebe que el sistema de archivos utilice el protocolo SMB y que su versión de Windows sea compatible con ellos. Si son compatibles pero faltan, créelos manualmente. Para obtener más detalles, consulte Performance tuning for file servers.

Solución 2: Almacenar localmente los archivos web de acceso frecuente

Si IIS accede frecuentemente a archivos estáticos (JS, CSS), almacénelos en discos locales en lugar de en NAS.

Si el rendimiento sigue sin cumplir sus requisitos, envíe un ticket.