2013-07-18 3 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

Вы можете попытаться включить метод прослушивания, используя iNotify для мониторинга событий файловой системы.

API-интерфейс inotify предоставляет механизм для мониторинга файловой системы событий. Inotify может использоваться для мониторинга отдельных файлов или для мониторинга каталогов . Когда каталог отслеживается, Inotify будет возвращать события для самого каталога, а также для файлов внутри директории

man page

Q: Могу ли я смотреть sysfs (PROCFS, NFS ...)? Проще говоря: да, но с некоторые ограничения. Эти ограничения различаются между версиями ядра и , как правило, становятся меньше. Пожалуйста, ознакомьтесь с информацией о конкретных файловых системах .

FAQ page

Это очень вероятно, что это уменьшит разрыв во времени.

+0

Я написал простую программу, используя inotify, управляя каталогом mountpoint и помещаю его в новый клиент. Программа отображает только удаления и творения, созданные клиентом, но не созданные сервером. – asclepix

Смежные вопросы