cachefilesd - 如何确保文件从本地缓存中复制?

cachefilesd - 如何确保文件从本地缓存中复制?

我已经设置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选择此选项时,我仍然看到相同的行为,即第二次复制仍然需要相同的时间。我相信当cachefilesd从本地缓存复制时应该更快。

我查看了几个网站,其中提到可以在 NFS 服务器本身上启用缓存,也许这就是为什么即使cachefilesd关闭,第二次复制也会更快的原因。

因此,为了测试第二次复制是否来自本地缓存,我考虑使用引入延迟tc qdisc add dev eth0 root netem delay 400ms。(我确保cachefilesd已打开并且 NFS 存储已安装-o fsc)。现在,通过这个,我看到第一次复制花费的时间比预期的要多得多,例如,8-10 secs令人惊讶的是,如果文件是从本地缓存复制的,第二次复制需要大约800 millisecs到,1 sec这个时间仍然很长。此行为再次与cachefilesd关闭时相匹配。

问题:

  • cachefilesd为什么在开启并引入延迟的情况下第二次复制要花费这么多时间?
  • 如何查找文件是否从本地缓存中复制?

任何提示都会非常有帮助。

有人能提供任何信息吗?

相关内容