2012-06-02 4 views
0

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

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

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

ответ

0

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

  • ОС (например, Linux против Windows) и

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

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

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

4) несколько дополнительных ссылок (если вы на Linux):

+0

Ну, я разрабатываю на машине Windows, но сам сайт работает на Linux. Я часто копирую файлы сервера на свой компьютер, поэтому любое решение, которое мне нужно, должно быть мультиплатформенным. Я предполагаю, что главная проблема - это иноды, поскольку я абсолютно ничего не знаю об этом! –

Смежные вопросы