На сервере картинки выдаются при помощи сервера nginx.
Сколько максимально можно размещать картинок в 1 директории для ФС ext3, чтобы не возрастало время случайного доступа к файлам и не появлялось никакой излишней дополнительной нагрузки из-за поиска файлов в директории с огромным количеством файлов?
Соответственно такой же вопрос про директории: каким числом поддиректорий в директории лучше всего ограничиться?
Какие ограничения на длины имён директорий и файлов следует накладывать, чтоб не возрастало время поиска, какие ограничения на уровни вложенности?
Тот же вопрос интересует (но уже не в практических, а в познавательных целях) для ФС reiserfs, ext4, xfs, jfs… И какая из этих ФС лучше справится с такой задачей?
В стародавние времена был придуман способ хранить множество файлов по такому принципу:
1) было: /files/abcdefg.gif
2) стало: /files/a/b/c/abcdefg.gif
Глубину вложенности больше 3 на практике ни разу не видел, как и задержек. Вот по первому рецепту — задержки были, но тогда была еще ext2 и несколько тысяч файлов в папке. Точные цифры, к сожалению, не помню за давностью лет.
Максимально фаилов в одном каталоге для ext3 по-моему около 32к
Чтобы разместить фаилы равномерно по подкаталогам лучше всего работает такая схема. m5sum(file) = a1b2c3… Тогда фаил размещаем в /a/1b/filename… получаем для 100к фаилов по 23-25 файлов в каталоге