Estou tentando agrupar uma operação que conta arquivos em uma determinada subpasta de uma unidade NFS remota.
O cliente NFS é o Ubuntu 16.04 LTS.
Eu tenho muito poucas informações no servidor NFS remoto.
É um NFS v3. É anonimamente montado em rw e sua autenticação é baseada em IP. A largura de banda do cliente é 100/10 e pode carregar cerca de 1,1 MB / s. O provedor anuncia seu armazenamento de backup como 1Gbit / 1Gbit garantido. O tamanho utilizável do volume é de < 4TB, a contagem esperada de arquivos é estimada em > 600000 unidades.
- Editar # 1 :
Os IOPs anunciados e anunciados do armazenamento são 2000, mas o teste do fs remoto resulta em 7-800iops.
As opções de montagem usadas no cliente são sugeridas pelo provedor:
rsize=8192,wsize=8192,timeo=14,intr
Para realizar a contagem, minha escolha foi este script:
#!/bin/bash
if [[ $# -eq 0 ]] ; then
echo 'no folder supplied, use $0 /path/to/folder'
exit 0
else
COUNT=$(find $1 -type f|wc -l)
echo $1 contains $COUNT files.
fi
exit 0
Eu tentei em minha casa, e foi obviamente muito rápido, saindo:
/home/user contains 12 files.
Quando tento obter essa estatística da unidade NFS remota, o script fica "para sempre".
- Editar # 2:
Eu tentei remover o |wc -l
e adicionar >> $LOGFILE
no final do find
, mas parece que ele é interrompido aleatoriamente em um período de 2 a 24 horas e quando ele é interrompido após um longo período a lista está longe de estar completa.
Eu pensei que eu poderia dividir o achado em pedaços, a fim de evitar esse problema, talvez produzindo uma lista de todas as subpastas ...
for d in $FOLDERLIST;
do
find $d -maxdepth 0 -type f|wc -l >> $TMPLOG
done
.. e, em seguida, some todos os números em $ TMPLOG, então talvez em pequenas operações o script não seja interrompido.
PERGUNTA: Estou usando a melhor forma de economizar recursos possíveis para realizar essa contagem? Talvez exista uma maneira mais barata do que find
de obter arquivos para contar?
Eu estou pensando nisso talvez a abordagem errada para contar arquivos, desde que eu vi quanto tempo leva na unidade remota deve haver uma sobrecarga bastante ... Lembro-me de quando eu tinha alguma experiência em sistemas de arquivos remotos montados via curlftpfs. Sobrecarga enorme, enorme atraso.
O NFS deve ser muito melhor sobre isso, mas neste caso não parece!