Может ли Inotify обрабатывать большое количество каталогов?

Кто-нибудь использовал inotify для просмотра каталогов размером от 500 000 до 1 000 000? Как производительность на таком большом количестве часов?

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

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

fs.inotify.max_user_watches=1000000

Но что дальше? Может ли inotify справиться с этим?


person nice ass    schedule 12.04.2014    source источник


Ответы (1)


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

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

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

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

person Wez Furlong    schedule 11.07.2015