Обработка большого количества папок в Linux, лучшая структура для эффективности - PullRequest
0 голосов
/ 01 октября 2019

У меня есть проект PHP, над которым я работаю над созданием клиента, и мне нужно по существу преобразовать его старую систему и данные в мою "лучшую" систему. Проблема, с которой я сталкиваюсь, заключается в их старой файловой структуре для хранения PDF.

В настоящее время система папок настраивается по имени, фамилии в подпапках, с последними 4 социальными сетями, прикрепленными к концу дляя полагаю, что нужно предотвратить дублирование.

Files > A > B > Alan_Bob_1234

Поскольку их система крайне НЕ совместима, я чувствую, что должен изменить это, но мне нужен совет по структурированию новой файловой системы на сервере Linux.

Моей первой мыслью было просто создать одну папку, содержащую уникальный идентификатор каждого «Заявителя».

Files > 0cowxuRoGj

Меня беспокоит тот факт, что у меня более 14 000 заявителей для передачи файлов. для, и это число будет продолжать расти с каждым днем.

Мой вопрос: Будет ли иметь 14 000+ и увеличение количества папок в папке «Файлы», настолько увеличить время обработки для сервера, что он будет ухудшатьсявремя ответа для поиска? Является ли более целесообразным реализовать систему подпапок, например, оригинальный дизайн, для борьбы с этой проблемой?

Независимо от того, что мне нужно, чтобы вывести социальную сеть из имени папки. Если мне нужно поместить эти папки в подпапки, какова может быть хорошая схема для имен подпапок, поскольку я не хочу зависеть от того, чтобы имена и фамилии оставались прежними, потому что в их текущей системе обновлениеимя приводит к потере старых файлов и созданию новой папки.

1 Ответ

0 голосов
/ 03 октября 2019

Максимальное количество файлов в каталоге зависит от используемой файловой системы, как была создана файловая система, версии ядра и, возможно, некоторых других вещей. Если вы используете ext4 с последним ядром, миллионы файлов в каталоге не должны создавать проблем. Но для большей безопасности и переносимости рекомендуется разбивать огромный список.

Если ваш «УНИКАЛЬНЫЙ ИД» не серийный, а случайный с хорошим распределением, простое решение:

Files > 0 > cowxuRoGj

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

...