ls é executado lentamente no servidor remoto

3

Eu tenho um problema muito estranho, que pode ser muito difícil de diagnosticar sem acesso à máquina, mas talvez alguém aqui possa ajudar.

Estou usando o OS X e na minha máquina local ls é executado instantaneamente. No entanto, quando eu fizer login em um servidor remoto particular , e executar ls apenas no diretório base, levará cerca de 15 segundos para retornar. E há apenas alguns arquivos no diretório inicial. Se eu alternar para um subdiretório ou um diretório superior, ls será executado imediatamente.

Agora, eis a coisa estranha: se eu usar um computador diferente para acessar o servidor remoto e executar ls no diretório inicial, ele retornará imediatamente.

Em resumo: meu laptop particular + um servidor remoto específico + um diretório específico = execução lenta ls

Alguma ideia? Ou pelo menos uma maneira de depurar isso?

EDIT: Ok, mais estranheza. É apenas lento na primeira execução do sls. Todas as execuções subseqüentes são rápidas. Eu acho que nunca me preocupei em digitar novamente depois que foi tão lento na primeira vez.

    
por Nick 03.03.2013 / 10:24

2 respostas

1

É um pouco difícil ter certeza do que está acontecendo. Seus sintomas poderiam ser facilmente explicados por uma mistura de um problema real (bem, não tão problemático) e um viés de teste.

Por exemplo, suponhamos que o servidor Linux esteja simplesmente inutilizando seu disco e o diretório que você deseja não esteja no cache (ou talvez seja montado ou vinculado a um dispositivo que esteja desativado, como um disco externo).

Então o primeiro acesso requer spin-up / deidling, e lá os 15 segundos vão.

Você entra em outro diretório e é rápido, porque ele está em outro dispositivo ou no dispositivo que está girando agora.

Você volta para o mesmo diretório e agora é rápido (o cache do IOSS também pode ter algo a ver com isso).

Você faz o logout e login de outro lugar, mas agora o dispositivo ainda está girando, o cache ainda é preparado e o diretório é rápido.

Para ter certeza de que não é um problema como esse, você precisa aguardar um momento adequado e tentar novamente fazer login no computador terceiro - aquele em que ls foi rápido - e verifique se agora o ls é realmente lento .

    
por 03.03.2013 / 11:18
1

Respondendo a parte sobre como depurar isso. Tente isso na sessão do Linux:

sudo strace ls

E preste atenção na chamada do sistema que trava por ~ 15 s.

(No OS-X, pode-se usar 'dtruss' ou usar dtrace ( man dtrace ))

    
por 03.03.2013 / 10:40