NFS 时间间隔过长
Posted
技术标签:
【中文标题】NFS 时间间隔过长【英文标题】:NFS time gap too long 【发布时间】:2013-07-18 07:43:33 【问题描述】:我有 2 台机器通过 NFS 交换数据:2 个大约 20 字节的不同文件。客户端写入它的文件,服务器读取和删除它,然后它写入不同的文件,服务器读取和删除。等等。这 2 个文件始终具有相同的名称。
一切都好。他们运行 Linux 2.4。现在,我添加了另一个运行 Linux 2.6 的客户端。它的工作方式相同,它只使用不同名称的文件。
问题是新客户端在文件写入后大约 40 秒从服务器看到文件。我可以等待 4-5 甚至 10 秒,但不是 40 秒。
我尝试使用-o vers=2
或-o vers=3
挂载远程分区,但没有任何效果。
然后我试了echo 3 > /proc/sys/vm/drop_caches
,(见NFS cache-cleaning command?)没有效果。
我可以做些什么来减少时间差距?
【问题讨论】:
【参考方案1】:您可以尝试合并监听通知方法,使用 iNotify 来监控文件系统事件。
inotify API 提供了一种监控文件系统的机制 事件。 Inotify 可用于监控单个文件,或监控 目录。当一个目录被监听时,inotify 会返回事件 对于目录本身,以及目录中的文件
man page
问:我可以观看 sysfs(procfs、nfs...)吗?简单地说:是的,但是有 一些限制。这些限制因内核版本和 趋于变小。请阅读有关特定信息 文件系统。
FAQ page
这很可能会缩短时间间隔。
【讨论】:
我用inotify写了一个简单的程序,控制挂载点目录,放到新客户端上。程序只查看客户端所做的删除和创建,而不是服务器所做的。以上是关于NFS 时间间隔过长的主要内容,如果未能解决你的问题,请参考以下文章