セットアップが完了しcachefilesd
、正しいかどうかを確認するために、次のことを検証しました。
cachefilesd
サービスは実行中です- NFSストレージはマウントされており、次のように設定
-o fsc
できます。FSC
yes
/proc/fs/nfsfs/volumes
- NFSからファイルをコピーすると、新しいコンテンツが追加されます
/var/cache/fscache
(これは/etc/cachefilesd.conf
最初に NFS から 4 MB をコピーし、time
コマンドに従ってかかる時間が 程度になったときに400-450 millsecs
、同じファイルを再度コピーすると、時間が に短縮されます50-60 millisecs
。時間が短縮されたことで、ローカル キャッシュが期待どおりに動作していることがわかり、嬉しくなりました。
しかし、サービスをオフにしてオプションcachefilesd
なしでストレージを再マウントすると-o fsc
、同じ動作が見られます。つまり、2 回目のコピーにも同じ時間がかかります。オンのときは、cachefilesd
ローカル キャッシュからのコピーはもっと高速だったはずです。
いくつかのサイトを確認したところ、NFS サーバー自体でキャッシュが有効になっている可能性があると記載されており、キャッシュがcachefilesd
オフの場合でも 2 回目のコピーが高速になるのはそのためかもしれません。
そこで、2 回目のコピーがローカル キャッシュから行われているかどうかをテストするために、 を使用して遅延を導入することを考えましたtc qdisc add dev eth0 root netem delay 400ms
(がオンcachefilesd
になっており、NFS ストレージが を使用してマウントされていること-o fsc
を確認します)。これで、たとえば、最初のコピーには予想どおりにかなり時間がかかっていることがわかります。また8-10 secs
、驚いたことに、2 回目のコピー800 millisecs
には1 sec
程度かかりますが、ファイルがローカル キャッシュからコピーされている場合は、それでも時間がかかります。この動作は、cachefilesd
がオフの場合と一致します。
質問:
cachefilesd
がオンになっていて遅延が導入されている場合、2 回目のコピーになぜそれほど時間がかかるのでしょうか?- ファイルがローカル キャッシュからコピーされたかどうかを確認するにはどうすればよいでしょうか?
どのようなヒントでも非常に役立ちます。
誰か何らかの情報を提供してもらえますか?