He configurado cachefilesd
y para comprobar si es correcto verifiqué lo siguiente:
cachefilesd
el servicio está funcionando- El almacenamiento NFS está montado
-o fsc
y se puede verFSC
configuradoyes
en/proc/fs/nfsfs/volumes
- cuando se copia un archivo de NFS veo contenido nuevo agregado
/var/cache/fscache
(esto se configura en/etc/cachefilesd.conf
Ahora, cuando copio por primera vez 4 Mb del NFS y el tiempo necesario según el time
comando cambia 400-450 millsecs
, si vuelvo a copiar el mismo archivo, el tiempo se reduce a 50-60 millisecs
. La reducción del tiempo me alegró de que el caché local funcione como se esperaba.
Pero cuando desactivé cachefilesd
el servicio y volví a montar el almacenamiento sin -o fsc
opción, sigo viendo el mismo comportamiento, es decir, la segunda copia todavía lleva la misma cantidad de tiempo. Creo que cuando cachefilesd
estaba en la copia del caché local debería haber sido más rápido.
Revisé algunos sitios donde se mencionaba que podría haber habilitado el almacenamiento en caché en el servidor NFS y tal vez es por eso que la segunda copia es más rápida incluso cuando cachefilesd
está desactivada.
Entonces, para probar si la segunda copia es desde el caché local, pensé en introducir latencia usando el archivo tc qdisc add dev eth0 root netem delay 400ms
. (Me aseguro cachefilesd
de que esté activado y que el almacenamiento NFS esté montado con -o fsc
). Ahora con esto veo que la primera vez que la copia lleva mucho más tiempo del esperado, por ejemplo. 8-10 secs
y, para sorpresa, la segunda vez que se copia el tiempo 800 millisecs
es 1 sec
todavía alto si el archivo se copia desde la memoria caché local. Este comportamiento vuelve a coincidir cuando cachefilesd
está desactivado.
Las preguntas:
- ¿Por qué la segunda copia tarda tanto cuando
cachefilesd
está activada y cuando se introduce la latencia? - ¿Cómo saber si el archivo se copió del caché local?
Cualquier tipo de sugerencia será de gran ayuda.
¿Alguien puede aportar algún tipo de información?