HTML-кеш для Друпал 7

Главные вкладки

Аватар пользователя evilart evilart 19 июля 2013 в 17:35

Коллеги, кто-нибудь знает хороший кеш не через БД (честно говоря не понимаю, зачем он там хранится и почему так реализовано в Друпал), а в файлах HTML?

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

Кстати, если кому нужен модуль - могу поделиться.

Комментарии

Аватар пользователя Faceless Faceless 19 июля 2013 в 17:44

Из модулей вроде только [module=boost] кеширует страницы в html, но как у него с динамическим содержимым лично сам не тестировал.

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 19 июля 2013 в 17:46

"evilart" wrote:
Наша студия реализовала модуль для хтмл-кеш (в файлах), но он пока не очень поддерживает изменяемые блоки, т.е. кеширует страницу целиком - подходит только для сайтов-визиток.

Ваша студия написала велосипед для сайтов визиток. Так правильно

Аватар пользователя FORTIS FORTIS 19 июля 2013 в 17:50

"evilart" wrote:
Наша студия реализовала модуль для хтмл-кеш (в файлах), но он пока не очень поддерживает изменяемые блоки, т.е. кеширует страницу целиком - подходит только для сайтов-визиток.

выкладывайте, подскажем Wink

Аватар пользователя evilart evilart 19 июля 2013 в 18:02

"Faceless" wrote:
Из модулей вроде только  boost кеширует страницы в html, но как у него с динамическим содержимым лично сам не тестировал.

На счет boost спасибо. Что-то он не впечатляет, уже пробовали. Сделали свой скрипт (это и не модуль, вне друпала) для записи страниц в ХТМЛ. Летает, конечно, но пока подходит только для визиток и более-менее статических сайтов.

Аватар пользователя FORTIS FORTIS 19 июля 2013 в 18:08

"RxB" wrote:
По какому тарифу код-ревью?

новичкам на форуме бесплатно )) еще и как жить дальше научу Lol

"evilart" wrote:
Сделали свой скрипт (это и не модуль, вне друпала) для записи страниц в ХТМЛ.

зачем же так сурово, все штатно
http://goo.gl/8GakR
Quote:
Алгоритм работы веб-сервера с boost:
При запросе пользователя к какой-нибудь странице сайта проверяется наличие HTML копии странице на диске.
Если HTML копия имеется, то загружаем ее.
Если HTML копии нет, то передаем управление Drupal для генерации HTML копии этой страницы.

Аватар пользователя evilart evilart 19 июля 2013 в 18:24

"FORTIS" wrote:

наслышан Smile
но посмотрите бенчмарки http://turnkeye.com/blog/nginx-vs-litespeed-test-magento/[/quote]
У нас тесты показали другие результаты. Реально 1-2 секунды разницы. Конечно, у нас более сильная конфигурация сервера, возможно в этом причина. Да и статья эта 2010 года

Аватар пользователя multpix multpix 19 июля 2013 в 19:04

Епт, первый толечкин пост без нецензурщины?
с почином!

ну и я:
думая о том как кеш генерить, думайте о том что и как будет его отдавать.
зрите в фронтенд - там должен быть varnish

Аватар пользователя drupby drupby 19 июля 2013 в 19:38

"evilart" wrote:
но он пока не очень поддерживает изменяемые блоки

а что за изменяемые блоки ?
1.есть системные :к примеру "кто сейчас онлайн"
2.есть вьюсовые
3.есть кастомные
на какие события должен реагировать модуль ,чтобы переписать файл ,в котором находиться блок ,тем паче ,что этот блок на многих страницах.
Утопия ,не?

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 19 июля 2013 в 19:42

"drupby" wrote:

Утопия ,не?

В рамках http://en.wikipedia.org/wiki/Edge_Side_Includes вполне себе нет, не утопия.
Но реально друпальных проектов с ней только об одном слышал, и то не уверен, что в этоге простым варнишем не закончилось

Аватар пользователя evilart evilart 19 июля 2013 в 20:04

"drupby" wrote:
на какие события должен реагировать модуль ,чтобы переписать файл ,в котором находиться блок ,тем паче ,что этот блок на многих страницах.
Утопия ,не?

Да, все правильно. У нас это еще не реализовано, нужно делать, так как Буст как то для меня не решение, или ошибаюсь? Можно еще попробовать с ним поиграться, но что-то душа к нему не лежит)

Аватар пользователя FORTIS FORTIS 20 июля 2013 в 23:29

"RxB" wrote:
В рамках http://en.wikipedia.org/wiki/Edge_Side_Includes вполне себе нет, не утопия.
Но реально друпальных проектов с ней только об одном слышал, и то не уверен, что в этоге простым варнишем не закончилось

очень кстати! когда-то рассматривал, но не пробовал, сейчас поковырялся вполне рабочее решение, настроил varnish + nginx + php-fpm и drupal.org/project/varnish + drupal.org/project/esi
пока на реальном проекте конечно не проверял, но модули работают, как раз на зиму обсуждаем средства для новой версии сайта с 140 тыс уников в день на 7ке, скорее всего попробуем, интересен результат Smile

Аватар пользователя FORTIS FORTIS 21 июля 2013 в 9:22

кстати варниш то тоже не особо нужен если есть nginx, можно ssi использовать с nginx, да и в памяти хранить кеш с ramdisk. только пока не понял как чистить кешированные ssi, у варниша для этого есть модуль drupal.org/project/varnish и общение через телнет

Аватар пользователя duozersk duozersk 21 июля 2013 в 12:47

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

Смотрим, что же такое модуль Boost (https://drupal.org/project/boost):

  • Появился в 2006 году (ещё для Drupal 5), то есть на него работали в течение 7+ лет несколько десятков разработчиков (более 700 коммитов)
  • 23000+ сайтов используют этот модуль - 9000+ D6, 14000+ D7
  • В версии для D6 включал в себя систему обновления кэша с настраиваемыми правилами, которую затем выделили в отдельный модуль Expire (https://drupal.org/project/expire); версия Boost для D7 интегрирована с этим модулем для очистки кэша (при публикации нового контента, при добавлении новых комментариев, и тд). Известный разработчик Spleshka (Евгений Масловский) стал ко-мейнтейнером модуля Expire
  • Интеграция с модулем Rules... да вот этот единственный момент - приговор всем остальным попыткам сделать подобное, если в них это отсутствует

И тут очередная бомба - кто-то написал что-то лучше Буста! Ах-ха-ха, дайте две Smile Не, ну серьёзно, этот пост же будут читать и не только технически подкованные люди, а и остальные посетители drupal.ru - и будут себе представлять, что есть какой-то мифический модуль, который справляется с задачами кэша страниц в файлики лучше модуля Boost, который "как то для меня не решение" и "что-то душа к нему не лежит".
Уважаемый, приведите, пожалуйста, хотя бы более полное описание функционала вашего модуля, как он работает, с какими ещё друпал-модулями интегрируется, каким образом сбрасывается кэш (как известно, есть две сложные вещи в программировании - именование вещей и инвалидация кэша), результаты тестов, ... Тогда я подумаю о том, чтобы начать серьёзно воспринимать ваши посты, а пока что это реально РЖАКА Smile

Да и само изложение темы от ТС...

  • "Наша студия реализовала модуль", но "это и не модуль, вне друпала"
  • "На счет boost спасибо. Что-то он не впечатляет, уже пробовали." - опять одна вода... а чем не впечатляет-то? Меня вот очень даже впечатляет.
  • "он пока не очень поддерживает изменяемые блоки" - перевожу на русский: "не очень поддерживает" = "совсем не поддерживает"

Спасибо.

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 21 июля 2013 в 13:01

"duozersk" wrote:
И тут очередная бомба - кто-то написал что-то лучше Буста! Ах-ха-ха, дайте две :)

Более чем возможно, если речь о решении специфичной задачи. Что такое долгоиграющий модуль на д.орг: интеграция со всем, что только возможно. В итоге 90% (образно) функционала не используется обычным юзером. Далеко не каждому нужна интеграция с Рулсами. Вот где 7 лет и 700 коммитов

Аватар пользователя multpix multpix 21 июля 2013 в 13:09

"duozersk" wrote:
... Тогда я подумаю о том, чтобы начать серьёзно воспринимать ваши посты, а пока что это реально РЖАКА :)

согласен.

и еще хотелось узнать чего такого платного и засекреченного появилось, что отдает статику быстрее чем тот-же варниш,
ибо вызывает сомнения следующее не аргументированное заявление:

"evilart" wrote:
Мы Nginx не используем, есть более быстрые решения, но платные.

Аватар пользователя FORTIS FORTIS 21 июля 2013 в 13:22

а я и писал, бенч конечно старый, но сомневаюсь, что в лайтспиде что-то кардинально изменилось и он взлетел Smile а как тестил ТС мы не знаем, тесты разные бывают

Аватар пользователя FORTIS FORTIS 21 июля 2013 в 13:24

"evilart" wrote:
Кстати, если кому нужен модуль - могу поделиться.

не нужно стесняться, если модуль хороший то кому-нибудь пригодится Smile

Аватар пользователя evilart evilart 22 июля 2013 в 14:34

"duozersk" wrote:
ТС безапеляционно заявляет, что они написали гораздо более "крутую" реализацию этого функционала, чем модуль Boost.

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