Динамический дорген, кто как его пишет?

1 234
sosik
На сайте с 16.04.2007
Offline
93
#21
PokerMonster:
po-shalim.freetzi.com Что думаете как пс отнесется к такому дору?

"зоо секс с девушками" Ты кеи чистишь ?)

PM
На сайте с 23.03.2009
Offline
13
#22
sosik:
"зоо секс с девушками" Ты кеи чистишь ?)

Вроде чистил.. особо не заморачивался

. icq 553073277
HorrorTM
На сайте с 06.05.2007
Offline
73
#23

Господа, вы вот растеклись мыслью по древу, как теоретики честное слово.

Сделать кеширование в доргене плевая задача. Прикрутить к нему проверку по времени, чтобы время от времени определенная часть страниц обновлялась - так же.

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

Именно поэтому на аккаунтах американских хостеров (Дримхост например), которые дают по 100-200-500 гигов на аккаунт стоит маленькое ограничение - не более 512 тысяч файлов...

P.S. К чести Дримхоста хочу добавить, что они вообще очень терпимые хостеры. Время от времени мне не хватало 512 тысяч файлов и я начинал часть доров делать с кешем на мускуле, да еще и сортировал рандомом базы по 1,5 миллиона записей, что время от времени вешало их сервак, но ни разу они не дошли то того, чтобы в емких выражениях объяснить где они видели таких клиентов :)

Культура (http://www.skdnt.ru) в Ставропольском крае :: Ставропольская околица (http://www.stavok.ru) :: Фильмы онлайн (http://www.trubim.tv)
s91
На сайте с 13.04.2009
Offline
88
s91
#24

HorrorTM, то что для вас является проблемой, лично для меня проблемой не является.

За 2 секунды нашел 2 выхода из вашей проблемы:

1. Размещать страницу в директориях нескольких уровней

Например: мойсайт.ру/страница.пхп

Размещаем файл кеша так: м/о/й/с/а/й/т/р/у/с/т/р/а/файлкеша.кеш

2. Размещать кеш всего в двух файлах для каждого сайта

Например: мойсайт1.index, мойсайт1.cache, мойсайт2.index, мойсайт2.cache

Сколько доменов, столько файлов.

Никакой проблемы не вижу. Но кеш не использую.

То что какой-то там хостер что-то там запрещает, значит нужно менять хостера. Использовать VDS или DS, там ограничений нет

Не бывает белой и черной оптимизации. Бывает только обман и разные способы его реализации
G
На сайте с 01.09.2006
Offline
38
#25

а как яша относится к дорам таким? у меня часто бот начинает старые страницы шерстить - если новый контент, то в баньку же или 304 на такие страницы отдавать?

humbert
На сайте с 16.03.2006
Offline
536
#26

s91, так и делаю, дабы в папке не более 1000 файлов было. На самом деле доры редко кеширую, в основном голая динамика. Мегатрафа не получаю.:)

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

Парсинг прайс-листов, наполнение интернет-магазина товаром. (https://humbert.ru) Любая CMS (Битрикс, OpenCart, Prestashop и даже Woo Commerce )
entropy
На сайте с 21.09.2007
Offline
43
#27

s91, к сожалению ты ошибаешься. И на вдске и на дедике есть ограничение.

И на твоем домашнем компе оно так же есть.

Любая файловая система имеет ограничение в виде числа индексных дескрипторов(inodes).

У меня на домашнем компе, к примеру, диск поделен на разделы по 100 гиг. Там число инодов 24млн.

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

s91
На сайте с 13.04.2009
Offline
88
s91
#28

Хм.. действительно.

[root@server ~]# df -i

Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda2 120258560 65167 120193393 1% /
/dev/sda1 26104 34 26070 1% /boot
/dev/sda5 524288 277 524011 1% /tmp
tmpfs 1022186 1 1022185 1% /dev/shm

Никогда не знал о таком ограничении.

HorrorTM
На сайте с 06.05.2007
Offline
73
#29
s91:
HorrorTM, то что для вас является проблемой, лично для меня проблемой не является.
За 2 секунды нашел 2 выхода из вашей проблемы:
1. Размещать страницу в директориях нескольких уровней
Например: мойсайт.ру/страница.пхп
Размещаем файл кеша так: м/о/й/с/а/й/т/р/у/с/т/р/а/файлкеша.кеш
2. Размещать кеш всего в двух файлах для каждого сайта
Например: мойсайт1.index, мойсайт1.cache, мойсайт2.index, мойсайт2.cache
Сколько доменов, столько файлов.

1-й вариант - ну вы сами поняли, да? :) Уже обсудили тут выше.

2-й вариант хорош конечно в теории... Я не силен в программировании, но как вы будете выбирать нужный кусок для отдельно взятой страницы из файла кэша размером... ну например 200 мегабайт? Перебирать построчно пока не дойдете до нужного куска? Или же грузить его целиком в память и там разбирать? Если вы подскажете наиболее простое решение данной проблемы на ПХП, то я буду вам несказанно благодарен. Без шуток.

s91
На сайте с 13.04.2009
Offline
88
s91
#30
2-й вариант хорош конечно в теории... Я не силен в программировании, но как вы будете выбирать нужный кусок для отдельно взятой страницы из файла кэша размером... ну например 200 мегабайт? Перебирать построчно пока не дойдете до нужного куска? Или же грузить его целиком в память и там разбирать? Если вы подскажете наиболее простое решение данной проблемы на ПХП, то я буду вам несказанно благодарен. Без шуток.

Как бы сделал я:

Есть например домен: domain1.ru

Создаем файлы domain1.index, domain1.cache (каждый по 0 байт)

1. Нужно записать в кеш страницу asd.domain1.ru/index.php?param=abcd

Считываем текущий размер файла domain1.cache, запоминаем. Записываем в его конец наш кеш.

В файл domain1.index записываем вот такое например:

asd.domain1.ru/index.php?param=abcd 0(где 0 - это место в файле domain1.cache где начинается кеш указанной страницы)

2. Через какое-то время в файле domain1.index будут вот такие записи:

asd.domain1.ru/index.php?param=abcd 0

asd.domain1.ru/index.php?param=abck 1544

asd.domain1.ru/index.php?param=abcds 3544

astgfhfg.domain1.ru/index.php?param=ab345 8455

asd.domain1.ru/index.php?param=dgdfg 10333

А в файле domain1.cache кеш указанных страниц по указанным смещениям

3. Нужно например считать asd.domain1.ru/index.php?param=abck

Читаем файл domain1.index полностью, ищем запись "asd.domain1.ru/index.php?param=abck" и следующую за ней. Получаем 1544 и 3544. Считываем из файла domain1.cache данные между этими позициями в файле, получаем кеш.

Если файлы *.index будут слишком большими, можно делить их на несколько по имени поддомена asd.domain1.index, astgfhfg.domain1.index, или даже еще мельче по какому-нибудь параметру генерации код дора, например по уровню вложенности стриниц

1 234

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