Как лучше закэшировать данные? 500 txt-файлов кэша..

S
На сайте с 01.09.2010
Offline
7
1227

Хочу закэшировать некоторые данные. Т.е. грубо говоря, у меня получится 500 txt-файлов с текстом в виде HTML кода, каждый по 1-3кб, файлы именуются от 1.txt до 500.txt.

Проблема вот в чём. Как бы это лучше сделать. Положить в одну директорию все 500 файлов? Или же как-то лучше рассредоточить по разным директориям?

Страница сайта подымать такой файл будет через:

echo file_get_contents( 'cache/325.txt' );

Вот и думаю, то ли в одну директорию их все запихать, но хреново, наверное, серверу прийдётся при обращении в директорию с таким количеством файлов? (а если файлов будет больше, где тут оптимум тогда?). Или раскидать по разным директориям, например в первой директории файлы с номерами: 1..75, потом: 76..ещё-такая-же-порция-файлов, и т.д.

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

Или может быть выгоднее вообще это всё в MySQL закинуть? Но тогда лишние подключения и использование БД будет..

Вы не подумайте, это не паранойя. Я просто люблю размышлять на тему оптимизации программного кода.) Предлагаю подключаться к дискуссии и к поиску оптимального решения!

Jaf4
На сайте с 03.08.2009
Offline
804
#1
SEOServices:
Хочу закэшировать некоторые данные. Т.е. грубо говоря, у меня получится 500 txt-файлов ...1-3кб,

Кэшируй.. Пофиг, но я бы в 1 директорию укладывал (точнее укладываю).

500 файлов по 2к - это грубо 1 Мб, да он в оперативке будет держать всю директорию :)), Сейчас можно и в кэше проца держать в разы больше при нынешних объемах.

SEOServices:


Вы не подумайте, это не паранойя.

Мы и не подумали. :)) 500 файлов.. видимо не встречали больших бд..

New! NVMe VPS от SmartApe.ru (https://goo.gl/eoYYkS)
LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#2
blackshop:
если 500 страниц сделать в БД - нагрузка будет на большинстве движков уже хорошая...

В помойку такие движки! 😂

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

Cпасибо за советы! А я-то думал, что и 500 файлов в директории будут грузить винт.. почему и хотел их раскидать по разным папкам.

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#4
SEOServices:
Cпасибо за советы! А я-то думал, что и 500 файлов в директории будут грузить винт.. почему и хотел их раскидать по разным папкам.

У меня 50 000 фотографий в одной папке))) Ничего, все уживаются :)

S
На сайте с 01.09.2010
Offline
7
#5
LEOnidUKG:
У меня 50 000 фотографий в одной папке))) Ничего, все уживаются :)

Это ведь выделенный сервер? Не виртуальный же хостинг? :)

Dreammaker
На сайте с 20.04.2006
Offline
569
#6
LEOnidUKG:
У меня 50 000 фотографий в одной папке)))

а вот это уже перегиб :), то что выше несколько тысяч, лучше разносить по папкам, имхо.

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#7
SEOServices:
Это ведь выделенный сервер? Не виртуальный же хостинг? :)

Ну там более 80 проектов :)

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

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

Jaf4
На сайте с 03.08.2009
Offline
804
#8
SEOServices:
Cпасибо за советы! А я-то думал, что и 500 файлов в директории будут грузить винт.. почему и хотел их раскидать по разным папкам.

А следующее что? разные винты, разные серверы... шутка.

R5
На сайте с 22.03.2010
Offline
24
#9
blackshop:
а аргументировать? а не просто потому что "так все говорят" :)

ну а что тут аргументировать то? Не просто ж так говорят) 1, 2 и т. д.

R5
На сайте с 22.03.2010
Offline
24
#10

причём здесь весь винт? всё зависит от того, как разбит этот самый винт, от объёмов получившийхся разделов и собственно ваших директорий с их точками монтирования.

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

для каких-то 500 или даже 50К-100К файлов замарачиваться, возможно не стоит (хотя, это так же зависит от размера раздела), но аргументируются рекомендации разброса большого количества фалов в разные волуймы, именно исходя из специфических свойств Линукс-подобных (ext2, etc3 etc) файловых систем и этих возможностей монтирования

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