Влияет ли большое количество каталогов на производительность?

Я намереваюсь использовать файлы для хранения данных в качестве своего рода кеша для файлов, сгенерированных PHP, чтобы избежать повторной генерации их каждый раз, когда они загружаются (их содержимое меняется только один раз в день).

Одна вещь, которую я заметил в прошлом, заключается в том, что если в каталоге содержится большое количество файлов, достигающих тысяч, FTP-программе потребуется много времени, чтобы загрузить его содержимое, иногда даже происходит сбой компьютера, который пытается их загрузить. . Итак, я изучаю древовидную систему, в которой каждый файл хранится в подпапке на основе его идентификатора. Так, например, файл с идентификатором 123456 будет сохранен как 12/34/56.html. Таким образом, в каждой папке будет не более 100 элементов (за исключением случаев, когда файлов миллионы, но это крайне маловероятно).

Это хорошая идея, это излишество или в этом нет необходимости? По сути, вопрос сводится к следующему: «Как лучше организовать большое количество файлов?»


person Niet the Dark Absol    schedule 02.06.2012    source источник


Ответы (1)


1) Ответ зависит от

  • ОС (например, Linux или Windows) и

  • файловая система (например, ext3 или NTFS).

2) Имейте в виду, что когда вы произвольно создаете новый подкаталог, вы используете больше инодов.

3) Linux обычно обрабатывает «много файлов/каталогов» лучше, чем Windows.

4) Пара дополнительных ссылок (при условии, что вы используете Linux):

person paulsm4    schedule 02.06.2012
comment
Ну, я разрабатываю на машине с Windows, но сам сайт работает на Linux. Я часто делаю резервные копии файлов сервера на своем компьютере, поэтому любое решение, которое я выберу, должно быть мультиплатформенным. Я предполагаю, что основная проблема заключается в инодах, так как я абсолютно ничего о них не знаю! - person Niet the Dark Absol; 03.06.2012