Ich habe das Setup durchgeführt cachefilesd
und um zu prüfen, ob es richtig ist, habe ich Folgendes überprüft:
cachefilesd
Dienst läuft- NFS-Speicher ist mit montiert
-o fsc
und in der Lage zu sehen,FSC
eingestellt aufyes
in/proc/fs/nfsfs/volumes
- wenn eine Datei von NFS kopiert wird, sehe ich, dass neuer Inhalt hinzugefügt wird
/var/cache/fscache
(dies wird eingerichtet in/etc/cachefilesd.conf
Wenn ich jetzt zum ersten Mal 4 MB vom NFS kopiere, kommt die benötigte Zeit laut time
Befehl ungefähr auf 400-450 millsecs
. Wenn ich dann dieselbe Datei erneut kopiere, verkürzt sich die Zeit auf 50-60 millisecs
. Die verkürzte Zeit hat mich gefreut, da der lokale Cache wie erwartet funktioniert.
Aber wenn ich den Dienst abschalte cachefilesd
und den Speicher ohne -o fsc
Option neu einbinde, sehe ich immer noch dasselbe Verhalten, d. h. das zweite Kopieren dauert immer noch genauso lange. Ich glaube, als das cachefilesd
eingeschaltet war, hätte das Kopieren aus dem lokalen Cache schneller gehen müssen.
Ich habe ein paar Sites geprüft, auf denen erwähnt wurde, dass auf dem NFS-Server selbst die Zwischenspeicherung aktiviert sein könnte und dass das zweite Kopieren deshalb vielleicht schneller geht, selbst wenn die Zwischenspeicherung cachefilesd
deaktiviert ist.
Um zu testen, ob das zweite Kopieren aus dem lokalen Cache erfolgt, habe ich mir überlegt, mithilfe von eine Latenz einzuführen tc qdisc add dev eth0 root netem delay 400ms
. (Ich stelle sicher, cachefilesd
dass eingeschaltet ist und der NFS-Speicher mit gemountet ist -o fsc
.) Jetzt sehe ich, dass das erste Kopieren viel länger dauert als erwartet, z. B. 8-10 secs
und überraschenderweise dauert das zweite Kopieren etwa 800 millisecs
, 1 sec
was immer noch hoch ist, wenn die Datei aus dem lokalen Cache kopiert wird. Dieses Verhalten trifft wieder zu, wenn cachefilesd
ausgeschaltet ist.
Die Fragen:
- Warum dauert das zweite Kopieren so lange, wenn
cachefilesd
es eingeschaltet ist und eine Latenz auftritt? - Wie finde ich heraus, ob die Datei aus dem lokalen Cache kopiert wurde?
Hinweise jeglicher Art sind sehr hilfreich.
Kann irgendjemand irgendwelche Informationen liefern?