Sobrecarga ao realocar um diretório para um sistema de arquivos diferente usando um link simbólico

0

Eu preciso realocar alguns arquivos acessados com freqüência para um sistema de arquivos diferente. A maneira mais simples de fazer isso é mover o diretório que contém os arquivos para o novo sistema de arquivos e criar um link simbólico a partir do local antigo.

ie. /var/yaydata é movido para /mnt/data2/yaydata e ln -s /mnt/data2/yaydata /var/yaydata

O que eu quero saber é que haverá algum impacto perceptível no desempenho, assumindo que os arquivos em yaydata serão abertos e fechados com frequência?

    
por phenompbg 18.03.2015 / 09:22

1 resposta

1

Não, não realmente.

Você pode testar o rastreamento de depuração da sua operação. Supondo que você esteja no linux, isso é strace .

 mkdir test1
 ln -s test1 test2
 strace -o strace1.log ls -l test1
 strace -o strace2.log ls -l test2

Depois, diferencie seus dois logs.

Você verá que eles são basicamente a mesma sequência de operações. Eles chamam lstat , que é uma versão de stat que segue os links simbólicos.

Você pode testar a diferença de velocidade adicionando o -T flag a strace . Com o link simbólico, o lstat recebeu 0,000035s e sem ele 0,000031s.

Coisas como metadados de arquivo como este também são armazenados em cache de forma bastante eficiente - a maioria dos caches assume que os metadados são uma prioridade bastante alta, porque é um acesso freqüente e pequeno.

Resposta tão curta - não, não é provável que cause uma sobrecarga significativa.

    
por 18.03.2015 / 13:49