У меня есть файловая система ext2 с максимальным количеством inodes на каталог (где-то около 32k), а также максимальное количество inodes во всей файловой системе (где-то около 350m). Поскольку я использую эту файловую систему в качестве хранилища данных для службы, содержащей более 32 КБ объектов, я распределяю эти объекты между несколькими подкаталогами (например, словарь разделяет A – K и L – Z).
У меня такой вопрос:
Есть ли какое-то значение для глубины дерева при создании этих inodes? Есть ли существенная разница или ограничение, которое повлияет на мою службу, если я выберу «/ usr / www / service / data / a_k / aardvark» вместо «/ data / a_k / aardvark»?
Никакой измеримой разницы быть не должно, если только у вас система с нехваткой памяти. ОС будет кэшировать /usr/www/service/data/
inode каталога и выполнять поиск оттуда, а не просматривать всю иерархию при каждом доступе к файлу.