Se o symlink no NFS apontar para o disco local, a vantagem do disco local será perdida?

2

Estou trabalhando em uma rede de desenvolvimento que usa o NFS para que diretórios pessoais, etc., possam ser acessados de qualquer máquina. No entanto, o NFS é ocasionalmente esquisito, causando lentidão / congelamento das máquinas.

Estou trabalhando no código do lado do servidor, usando uma cópia de desenvolvimento em execução na minha máquina. Ele faz muito acesso ao sistema de arquivos e ao banco de dados, para torná-lo mais responsivo, movi os arquivos para o disco local e coloquei um link simbólico no diretório original no NFS.

Mas, se o NFS estiver respondendo mal, o link simbólico funcionará como um afunilamento, impedindo o acesso rápido aos arquivos locais? Ou será armazenado em cache para evitar esse problema?

    
por DNA 10.10.2012 / 10:38

2 respostas

2

Se o NFS tiver baixa largura de banda, o link simbólico provavelmente não será um gargalo. Se tiver latência, você poderá sentir isso. Se o servidor NFS ficar inoperante, você será encalhado. Então, se você precisa do NFS de qualquer maneira, o link simbólico não fará uma diferença visível, mas se você estiver completamente fora do NFS, exceto pelo link simbólico, vale a pena tentar não usar nem mesmo esse link simbólico.

A máquina local não pode manter um cache de entradas de diretório porque nunca sabe quando uma entrada de diretório pode ser modificada no servidor ou por outro cliente NFS. O cliente NFS mantém um cache do conteúdo do arquivo, que ele usa somente se o servidor informar ao cliente que o ctime do arquivo não foi alterado desde que a cópia do cache foi feita.

    
por 11.10.2012 / 02:29
1

O link deve ser armazenado em cache, e os links são muito pequenos para serem lidos pela rede, mas isso depende da ocupação do servidor NFS. Talvez seja melhor re-rootar o aplicativo para usar todos os sistemas de arquivos locais para obter a velocidade máxima - especialmente se você estiver servindo muitos arquivos para uma solicitação que use nomes de caminhos completos que tenham que percorrer o link. No entanto, se todos os nomes de caminho forem relativos ao diretório raiz, pode não fazer nenhuma diferença quando o servidor for iniciado.

No final, você precisa experimentá-lo com e sem, mas suspeito que provavelmente seria rápido o suficiente.

    
por 10.10.2012 / 10:58

Tags