Lentidão na cópia de arquivos por NFS

Recentemente precisei criar uma forma de atualização de dados entre servidores. Para acessar as informações do servidor remoto utilizei o sistema de arquivos de rede chamado NFS ou Network File System. Não entrarei em detalhes sobre o funcionamento do NFS, gostaria apenas de informar como resolvi um problema de lentidão na cópia de arquivos de um servidor para outro. O Linux utilizado nos exemplos foi o Ubuntu Server.

Primeiramente, configurei no arquivo /etc/exports o diretório que gostaria de exportar através do nfs para os outros servidores. Minha intenção era que os servidores “clientes” tivessem acesso para gravar e permissão de root no compartilhamento nfs. A proposta do compartilhamento é para que os servidores “clientes” realizem cópias de vários arquivos para o servidor. Portanto, inicialmente meu arquivo /etc/exports ficou da seguinte maneira:

/apps ip_cliente(rw,no_root_squash)

Até aqui tudo bem, consegui montar o diretório nos servidores “clientes” e rodar os scripts de cópia. Porém percebi que o tempo que levava para cópiar os arquivos estava fora do normal. Estava muito lento. Pesquisando sobre nfs achei uma informação que foi muito util para resolver o meu problema. Duas opções que melhoraram drasticamente o desempenho da cópia foram os seguintes:

  • no_subtree_check : Habilitar essa opção influência no modo como os arquivos dentro do diretório exportado são tratados. O padrão do nfs é ter o “subtree_check” habilitado. Dessa forma todos arquivos requisitados no diretório são checados se os mesmos pertencem ao diretório exportado. Para desabilitar a checagem utilize a opção “no_subtree_check”. Como são muitos arquivos sendo requisitados dentro do diretório exportado, usar essa opção melhora a velocidade na transferência dos arquivos.
  • async : Com essa opção habilitada, a resposta da requisição é retornada antes dos dados serem gravados em disco, aumentando dessa forma o desempenho na transferência dos arquivos.

Para finalizar, vejam como ficou o /etc/exports:

/apps ip_cliente(rw,no_root_squash,async,no_subtree_check)

Please follow and like us:

Comments

Follow

Get every new post on this blog delivered to your Inbox.

Join other followers: