2013-07-18 247 views
0

我有2臺機器通過NFS交換數據:2個大約20字節的不同文件。客戶端寫入文件並且服務器讀取並刪除它,然後寫入其不同的文件並讀取和刪除服務器。等等。這兩個文件總是有相同的名稱。NFS時間間隔太長

一切都好。他們運行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?)沒效果。

我該怎麼做才能縮短時差?

回答

0

您可以嘗試使用listen-notify方法,使用iNotify監視文件系統事件。

inotify API提供了一種監視文件系統事件的機制。 Inotify可用於監視單個文件,或監視目錄。當被監控的目錄時,inotify纔將返回目錄本身的事件 ,併爲目錄

man page

Q中的文件:我可以看的sysfs(PROCFS,NFS)?簡單地說:是的,但有 一些限制。這些限制在內核版本之間有所不同,並且 傾向於變小。請閱讀關於特定 文件系統的信息。

FAQ page

它很可能這將減少時間上的差距。

+0

我已經使用inotify編寫了一個簡單的程序,控制掛載點目錄並將其放在新的客戶端上。該程序僅查看從客戶端創建的刪除和創建,但不查看服務器創建的那些刪除和創建。 – asclepix