Eu configurei cachefilesd
e para verificar se está correto verifiquei o seguinte:
cachefilesd
serviço está em execução- O armazenamento NFS é montado
-o fsc
e capaz de verFSC
definidoyes
em/proc/fs/nfsfs/volumes
- quando um arquivo é copiado do NFS, vejo novo conteúdo adicionado
/var/cache/fscache
(isto é configurado em/etc/cachefilesd.conf
Agora, quando copio pela primeira vez 4 Mb do NFS e o tempo gasto de acordo com o time
comando aparece 400-450 millsecs
, se eu copiar o mesmo arquivo novamente, o tempo é reduzido para 50-60 millisecs
. O tempo reduzido me deixou feliz porque o cache local está funcionando conforme o esperado.
Mas quando desliguei cachefilesd
o serviço e remontei o armazenamento sem -o fsc
opção, ainda vejo o mesmo comportamento, ou seja, a segunda cópia ainda leva o mesmo tempo. Acredito que quando cachefilesd
estava na cópia do cache local deveria ter sido mais rápido.
Eu verifiquei alguns sites onde foi mencionado que poderia haver cache habilitado no próprio servidor NFS e talvez seja por isso que a segunda cópia é mais rápida mesmo quando cachefilesd
está desligada.
Então, para testar se a segunda cópia é do cache local, pensei em introduzir latência usando o arquivo tc qdisc add dev eth0 root netem delay 400ms
. (Garanto cachefilesd
que esteja ativado e que o armazenamento NFS esteja montado com -o fsc
). Agora, com isso, vejo que a primeira cópia está demorando muito mais tempo do que o esperado, por exemplo. 8-10 secs
e para a surpresa, na segunda vez, a cópia demora 800 millisecs
até 1 sec
que ainda seja alta se o arquivo estiver sendo copiado do cache local. Este comportamento corresponde novamente quando cachefilesd
está desativado.
As questões:
- Por que a segunda cópia demora tanto quando
cachefilesd
está ativada e quando a latência é introduzida? - Como descobrir se o arquivo foi copiado do cache local?
Qualquer tipo de dica será muito útil.
Alguém pode fornecer algum tipo de informação?