Todos os produtos
Search
Central de documentação

File Storage NAS:Perguntas frequentes sobre desempenho

Última atualização: Jun 27, 2026

Este tópico responde às perguntas frequentes sobre o desempenho de sistemas de arquivos File Storage NAS que utilizam os protocolos NFS ou SMB.

Desempenho geral

Como a capacidade de armazenamento afeta o desempenho do sistema de arquivos?

O impacto varia conforme o tipo de sistema de arquivos:

  • Sistema de arquivos NAS de uso geral: O throughput escala linearmente com a capacidade de armazenamento. Maior capacidade resulta em maior throughput de leitura e escrita. Para mais detalhes, consulte Sistemas de arquivos NAS de uso geral.

  • Sistema de arquivos NAS Extreme: O desempenho de leitura e escrita aumenta em etapas conforme a capacidade de armazenamento cresce. Para mais detalhes, consulte Sistemas de arquivos NAS Extreme.

Como a largura de banda da instância ECS limita o desempenho do NAS?

A largura de banda de rede da instância ECS conectada limita o throughput real do NAS. Por exemplo, se o sistema de arquivos NAS suporta 500 MB/s, mas a instância ECS possui uma placa de rede de 1 Gbit/s (aproximadamente 125 MB/s), o throughput real não ultrapassa cerca de 125 MB/s.

O que acontece quando o throughput de leitura ou escrita excede o limiar?

O NAS limita automaticamente a requisição, o que aumenta a latência.

Para elevar o limiar de throughput:

Para especificações de throughput, consulte Métricas de desempenho de sistemas de arquivos NAS de uso geral e Métricas de desempenho de sistemas de arquivos NAS Extreme.

Como aumento o limiar de throughput de um sistema de arquivos NAS de uso geral?

Crie um arquivo esparso para aumentar a capacidade provisionada. O throughput escala linearmente com a capacidade. Para a relação exata, consulte Especificações de sistemas de arquivos NAS de uso geral.

Cada 1 TiB de capacidade adicional adiciona:

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

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

A cobrança ocorre apenas pelo espaço real ocupado pelos arquivos esparsos. Para detalhes de preços, consulte Faturamento de sistemas de arquivos NAS de uso geral.

No Linux, execute o comando truncate:

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

Neste comando, /mnt é o caminho de montagem na instância ECS.

No Windows, use fsutil:

fsutil file createnew Z:\sparse_file.txt 1099511627776

Neste comando, Z:\ é o caminho de montagem na instância ECS.

Por que a listagem de diretórios está lenta ou sem resposta?

Isso geralmente ocorre ao executar ls, usar curingas (* ou ?), executar rm -rf ou chamar getdents em um diretório grande ou frequentemente modificado. Duas causas comuns:

  • O diretório está sendo modificado. A criação, exclusão ou renomeação frequente de arquivos invalida o cache e torna as respostas mais lentas.

  • Os metadados do diretório excedem o tamanho do cache do cliente. Isso provoca evicções frequentes de cache e respostas lentas.

Para resolver:

  • Mantenha menos de 10.000 arquivos por diretório.

  • Evite modificar o diretório durante a listagem.

  • Para diretórios com mais de 10.000 arquivos e poucas modificações frequentes, monte com o protocolo NFSv3 e adicione o parâmetro nordirplus para acelerar a listagem. Teste essa abordagem antes de implantá-la em produção. Para mais detalhes, consulte Parâmetros de montagem.

Parâmetros de montagem NFS

Como os parâmetros de montagem afetam o desempenho do NAS?

Principais parâmetros de montagem NFS e seus efeitos no desempenho:

rsize e wsize

Definem o tamanho máximo das requisições de leitura e escrita entre o cliente e o servidor. Um valor maior reduz o número de requisições de rede e melhora o throughput, especialmente para arquivos grandes.

Valor recomendado: 1048576 (1 MB). Valores menores aumentam a sobrecarga de rede e reduzem o desempenho.

hard

Quando ativado, o cliente tenta reconectar continuamente se o servidor NAS ficar indisponível e aguarda até obter resposta. Isso garante a integridade dos dados, mas pode travar temporariamente as aplicações.

Sempre ative este parâmetro. Ele é adequado para cargas de trabalho que exigem alta disponibilidade.

timeo

Define quanto tempo o cliente aguarda antes de tentar novamente uma requisição. Um tempo limite curto causa novas tentativas frequentes e degrada o desempenho em redes instáveis.

Valor recomendado: 600 (60 segundos). Isso dá à rede tempo suficiente para se recuperar.

retrans

Define quantas vezes o cliente NFS tenta novamente uma requisição com falha. Mais tentativas aumentam a taxa de sucesso, mas podem adicionar latência.

Valor recomendado: 2. Isso equilibra desempenho e confiabilidade.

noresvport

Quando ativado, o cliente usa uma nova porta TCP após uma falha de rede. Isso melhora a confiabilidade da reconexão.

Sempre ative este parâmetro.

Importante
  • A opção de montagem soft não é recomendada. Ela pode causar corrupção silenciosa de dados se o servidor não responder a tempo. Use-a apenas se sua aplicação lidar adequadamente com erros de E/S e você compreender totalmente os riscos.

  • Evite alterar quaisquer opções de montagem de seus valores padrão. Modificar tamanhos de buffer de leitura/escrita ou desativar o cache de atributos pode reduzir o desempenho.

Desempenho de NFS e Linux

Como melhoro o desempenho do NAS no Linux?

Existem duas opções, dependendo da versão do kernel.

Opção 1: Usar o parâmetro nconnect (kernel 5,3 ou posterior)

O parâmetro de montagem nconnect permite que uma única montagem NFS utilize múltiplas conexões TCP. Isso aumenta significativamente o throughput para cargas de trabalho de alta concorrência. Testes mostram uma melhoria de 3 a 6×, chegando a 3 GB/s.

Use esta opção quando mais de 16 operações de E/S concorrentes forem executadas em uma única instância ECS.

Pré-requisitos: Kernel Linux 5,3 ou posterior. Não eleva o limiar de throughput do sistema de arquivos NAS.

Adicione nconnect=4 ao comando de montagem:

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

O parâmetro nconnect aumenta o throughput por instância, mas não eleva o limiar de throughput do sistema de arquivos NAS. Não o ative para cargas de trabalho de concorrência única, blocos de dados pequenos ou sensíveis à latência, pois ele aumenta a latência.

Opção 2: Ajustar sunrpc.tcp_slot_table_entries (kernel anterior a 3,10)

O módulo sunrpc controla o número de slots de comunicação em um único link NFS. Ajustar esse valor ajuda quando há múltiplas operações de E/S concorrentes.

  • Para alto throughput, defina a contagem de slots como 128.

  • Para baixa latência, defina a contagem de slots como 16 ou menos.

Nota

O parâmetro nconnect é mais eficaz. Use nconnect se o kernel for 5,3 ou posterior.

Para instruções, consulte Como modificar o número de requisições NFS concorrentes.

Como melhoro o desempenho de leitura sequencial NFS no kernel Linux 5,4 ou posterior?

O parâmetro read_ahead_kb controla a quantidade de dados que o kernel Linux pré-busca durante leituras sequenciais. A partir do kernel 5,4, o valor padrão é 128 KB, insuficiente para cargas de trabalho do NAS. Aumente-o para 15 MB (15000 KB) ao usar as opções de montagem recomendadas.

Para versões anteriores do kernel, o valor equivale a NFS_MAX_READAHEAD multiplicado por rsize.

Após montar o sistema de arquivos, execute os comandos a seguir. Substitua nas-mount-point pelo caminho de montagem local e read-ahead-kb pelo valor desejado em 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"

Exemplo usando /mnt como caminho de montagem e definindo read_ahead_kb como 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 que o NGINX demora muito para gravar logs em um sistema de arquivos NAS?

O caminho access_log contém variáveis. Sempre que o NGINX grava uma entrada de log, ele abre e fecha o arquivo de log. No NAS, fechar um arquivo aciona um flush de dados para o servidor para garantir consistência. Esse ciclo frequente de abertura-fechamento-flush gera sobrecarga significativa.

Duas soluções:

Solução 1: Remova variáveis da diretiva access_log e use um caminho de arquivo fixo.

Solução 2: Use a diretiva open_log_file_cache para armazenar em cache descritores de arquivos de log usados frequentemente. Isso reduz a sobrecarga quando os caminhos de log contêm variáveis. Para mais detalhes, consulte open_log_file_cache.

Configuração recomendada:

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

Desempenho de SMB e Windows

Por que as operações de E/S apresentam atraso em um sistema de arquivos SMB?

Isso geralmente acontece porque provedores de rede ou serviços desnecessários interferem na conexão SMB. Causas comuns:

  • Um cliente NFS está instalado, mas não é utilizado.

  • O serviço WebClient está ativado, fazendo com que o Windows tente conexões WebDAV antes do SMB.

  • O valor ProviderOrder no registro contém Nfsnp, o que impede a abertura de arquivos.

Para resolver:

  1. Verifique primeiro a conectividade. Faça ping no nome de domínio do destino de montagem. Se o ping falhar, corrija as configurações de rede. Se a latência estiver alta, faça ping no endereço IP do destino de montagem. Se a latência por IP for muito menor que a latência por domínio, verifique a configuração de DNS.

  2. Desinstale o cliente NFS se ele estiver instalado, mas não for utilizado.

  3. Desative o serviço WebClient.

  4. Remova Nfsnp do registro. Abra HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\NetworkProvider\Order\ProviderOrder. Se o valor contiver Nfsnp, remova-o e reinicie a instância ECS.

Nota
  • Use a ferramenta Fio para verificar se as métricas de desempenho estão anormais.

    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
  • Utilize tamanhos de E/S grandes para operações de leitura e escrita. Tamanhos de E/S pequenos consomem mais recursos de rede. Se não for possível alterar os tamanhos de E/S, use a classe BufferedOutputStream para gravar dados com um tamanho de buffer especificado.

Por que as operações de E/S são lentas em clientes SMB do Windows Server?

Por padrão, a opção large mtu está desativada em clientes SMB do Windows. Isso limita o desempenho de E/S.

Ative-a modificando o registro:

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

  2. Crie uma chave do tipo de dados DWORD chamada DisableLargeMtu.

  3. Defina o valor como 0.

  4. Reinicie a instância ECS para que a alteração tenha efeito.

Por que a primeira conexão a um compartilhamento SMB é lenta?

O Windows tenta provedores de rede desnecessários ou lentos antes de chegar ao provedor SMB. A latência de resolução de DNS também pode contribuir para o atraso.

Aviso

Modificar o registro é uma operação de alto risco. Antes de prosseguir, crie um snapshot do sistema ou faça backup do registro.

Etapa 1: Otimizar a ordem dos provedores de rede

  1. Pressione Win+R, insira regedit e abra o Editor do Registro.

  2. Acesse HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order.

  3. Localize e clique duas vezes no valor ProviderOrder.

  4. Na caixa de texto Value data, localize e exclua as entradas Nfsnp e WebClient. Mantenha as vírgulas entre os provedores restantes.

  5. Clique em OK para salvar.

  6. Reinicie a instância ECS.

Etapa 2: Solucionar latência de resolução de DNS

Se o problema persistir após a Etapa 1:

  1. Abra o Prompt de Comando (CMD).

  2. Execute ping <mount target address> e registre a latência.

  3. Execute ping <IP address of the mount target> e registre a latência.

  4. Compare os resultados. Se a latência por IP for muito menor que a latência por domínio, a resolução de DNS está lenta. Verifique a configuração de DNS na instância ECS.

Como melhoro o desempenho de acesso do IIS ao NAS?

Quando o Internet Information Services (IIS) acessa arquivos em um diretório compartilhado do NAS, ele pode emitir múltiplas requisições de backend por arquivo, cada uma exigindo uma ida e volta na rede. Requisições individuais são rápidas, mas a latência acumulada torna a resposta ao cliente mais lenta.

Solução 1: Aumentar os tempos de vida do cache do Redirecionador SMB

Use o componente Redirecionador SMB para armazenar metadados de arquivos em cache. Para contexto, consulte SMB2 Client Redirector Caches Explained.

Abra HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters e defina cada um destes valores como 600 ou superior:

  • FileInfoCacheLifetime

  • FileNotFoundCacheLifetime

  • DirectoryCacheLifetime

Nota

Se esses valores de registro não existirem, verifique se o sistema de arquivos usa o protocolo SMB e se a versão do Windows os suporta. Se forem suportados, mas estiverem ausentes, crie-os manualmente. Para mais detalhes, consulte Performance tuning for file servers.

Solução 2: Armazenar arquivos web acessados frequentemente localmente

Se o IIS acessa frequentemente arquivos estáticos (JS, CSS), armazene-os em discos locais em vez de no NAS.

Se o desempenho ainda não atender aos requisitos, envie um ticket.