У меня есть каталог NFS, установленный на хосте. В этом каталоге сейчас 0,6 миллиона файлов журнала, а в конечном итоге будет 1,6 миллиона. Файлы небольшие, большинство из них меньше 1 МБ.
Проблема в том, что я не мог надежно найти все файлы за день в этом каталоге.
Если я запущу такую команду ниже, я получу 4320 файлов за день, но я могу получить любое число от 1 до 4320, например:
$ find /mnt/log -type f -name "some-prefix-rolling.log.2015-07-05*" | wc -l
2548
Я должен прочитать этот каталог как есть. Я не мог внести никаких изменений, например поместите файлы журнала за один день в одну папку, потому что некоторые другие приложения зависят от этого параметра.
Возможные варианты монтирования: ro, noatime, bg, hard, rsize = 32768, wsize = 32768, vers = 3.
Кто-нибудь знает, как исправить эту проблему?
Хотя хранение файлов в подкаталогах было бы идеальным, правильное (и ожидаемое) поведение - это не то, что вы видите. Несколько советов по поиску проблемы:
ls -al | wc -l
возвращать последовательные результаты?Этот пост дает некоторые из верхних пределов для файловых систем. Независимо от «жесткого ограничения» количества файлов, которые могут храниться в каталоге, вы очень быстро столкнетесь с проблемами производительности ... Десятки тысяч файлов, а не сотни тысяч, особенно если вы используете служебную программу. лайк найти который должен проанализировать весь каталог.