100к файлов в одной папке

12 3
phenomena
На сайте с 01.10.2009
Offline
90
2961

Любопытен такой вопрос, можно сказать задача:

1.Файловая система ext3. В одной папке лежат 100`000 файлов (картинки, каждая до 25 килобайт).

2.При открытии любой страницы сайта загружаются любые 10 штук картинок из этой папки.

3.Страницы сайта открывают одновременно 100 человек.

Как повлияет такое количество файлов в одной папке и режим такой работы на сервер? Что такое эффективность кеширования файловой системы? Что будет с жестким диском, будет ли повышенный износ? Что произойдет, если количество файлов будет 500`000? 1`000`000?

Буду рад для самообразования получить не только ваши ответы, но и ссылки на литературу.

beta tester nigma.ru
[umka]
На сайте с 25.05.2008
Offline
456
#1

В таких случаях стараются разбивать файлы по поддиректориям.

Это облегчит работу файловой системы. На износ никак не повлияет, но скорость открытия файлов увеличится.

Попробйуте произвести замер времени, сколько времени у вас уходит на открытие/закрытие одного файла.

Если ко всем файлам обращения происходят с примерно одинаковой частотой, то кэширование вам никак не поможет.

Лог в помощь!
LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#2

180К файлов в одной папке

Посещалка 5000 людей

ииии... ничего :) Вы же не листаете эти файлы в папке и не запрашивайте пачкой у них данные, а точечно запрашиваете конкретные файлы. Поэтому ничего не будет.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
Andreyka
На сайте с 19.02.2005
Offline
822
#3

Для этого придумали дисковый кеш

Не стоит плодить сущности без необходимости
phenomena
На сайте с 01.10.2009
Offline
90
#4

[umka], попробовал определить время при открытии/закрытии одного файла. Скорость действительно увеличивается. Но склоняюсь к тому, это происходит из-за того, что программа, с помощью которой я открываю картинки, читает заголовки всех файлов и определяет их параметры (размер, разрешение).

LEOnidUKG, да, именно такой способ работы я и подразумевал.

OS
На сайте с 11.02.2009
Offline
46
#5
LEOnidUKG:
180К файлов в одной папке
Посещалка 5000 людей ииии... ничего :)

Речь про ext3?

T
На сайте с 23.06.2006
Offline
257
#6

Когда много файлов, чтобы точечно произвести запрос, fat винта всё равно будет дольше оращаться к файлу, и чем больше файлов будет, тем медленне сам комп будет работать. С твердотельными винтами проще, хотя тоже требуется время на поиск нужного файла. Проверьте сами - имейте на компе тысячи файлов и убедитесь, как комп будет в целом тормозить. У меня много мелких файлов, исторически так сложилось и всё тормозит. Когда ставлю на новый комп систему где ничего нет всё летает. Поэтому чтобы облегчить запросы винта, при любой возможности не нужно держать много файлов в одной папке.

LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#7
Oleg_ST:
Речь про ext3?

Ну на CentOs стандартно, поэтому она.

Jake Foley
На сайте с 16.08.2008
Offline
151
#8

У меня в папке было под 500к файлов. все нормально только ftp глючил :)

Mik Foxi
На сайте с 02.03.2011
Offline
1179
#9

если идут прямые обращения к конкретному файлу - то ничего страшного.

Если делать листинг директории - то конечно да, тормоза будут жуткие...

Антибот, антиспам, веб фаервол, защита от накрутки поведенческих: https://antibot.cloud/ (Зеркало: https://антибот.рф/ ) Форум на замену серчу: https://foxi.biz/
Den73
На сайте с 26.06.2010
Offline
523
#10

зачем так извращаться нужно изначально делать правильную архитектуру.

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий