Antes de zerar o aspecto do FTP, você deve executar alguns testes sintéticos para descartar outras causas. (Eu assumi que tanto o cliente quanto o servidor são Linux desde que você está executando o vsftpd.)
- O pacote de rede cai: Verifique a saída de
cat /proc/net/dev
no cliente e no servidor para ver se há algum erro ou perda de pacotes. - Teste de carga de rede: use uma ferramenta de teste de taxa de transferência como iperf com um longo tempo de teste para ver se é possível reproduzir o questão. Monitore o rendimento com
cat /proc/net/dev
. - MTU: se você estiver usando 10GbE, poderá ter quadros jumbo ativados (isto é, tamanho de MTU maior que 1500). Se fizer isso, verifique se todos os hosts e dispositivos de rede suportam quadros jumbo e se você não está filtrando pacotes ICMP em qualquer lugar (os pacotes ICMP são usados para a descoberta de caminhos MTU).
- Disco do servidor: no servidor, use
dd
para ler/dev/zero
e gravar em um arquivo local no sistema de arquivos de destino. Monitore o rendimento comiostat
. - Disco do cliente: Pode não ser necessário testar isso, pois é possível FTP com êxito para outros servidores deste cliente.
Se algum dos testes acima mostrar problemas, você deve ter uma pista sobre onde procurar em seguida. Caso contrário, procure no lado do FTP:
- Se uma transferência tiver diminuído, o que acontece se você desconectar e retomar a transferência? É lento imediatamente, ou vai rápido novamente antes de diminuir?
- Você tem um comportamento diferente ao iniciar a transferência do lado do cliente em relação ao servidor (por exemplo, conectando-se a um servidor FTP no cliente)?
- Verifique o uso da memória do servidor FTP e do cliente usando
top
. Se houver um vazamento de memória, algo pode estar trocando e atrasando tudo. - Verifique o uso da CPU do servidor FTP e do cliente para qualquer comportamento estranho.