2014-04-12 2 views
2

Кто-нибудь использовал inotify, чтобы посмотреть что-то вроде 500K - 1M каталогов? Как производительность на таком большом количестве часов?Может ли Inotify обрабатывать большое количество каталогов?

Я думал создать сервер, который отслеживает изменения файлов на некоторых сайтах. Сервер будет записан в PHP или nodejs. Прежде чем начать, я хотел бы знать, является ли inotify правильным инструментом для этой задачи.

можно увеличить максимальное количество часов:

fs.inotify.max_user_watches=1000000 

Но что дальше? Может ли его обработать?

ответ

1

Inotify сам может справиться с этим, при условии, что ваша система может обрабатывать рабочую нагрузку. Например, если каталоги редко меняются, вам необходимо только достаточное количество ОЗУ для поддержания состояния. Если каталоги активно и часто подвергаются изменениям, вам нужно будет убедиться, что служба, которая потребляет уведомления, может идти в ногу и что ваше устройство хранения может поддерживать IO этих изменений.

Вам, безусловно, необходимо будет увеличить различные пределы системы inotify для размещения этого количества часов.

Возможно, вы захотите использовать watchman для обработки тяжелого подъема и сосредоточьтесь на логике вашего приложения.

Вы также можете найти What are the performance and reliability implications of watching too many files? полезно.

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