Вопрос по кэшированию (кэш в файлах, в БД)

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

Аватар пользователя nukerster nukerster 27 июля 2010 в 8:35

Добрый день, уважаемые участники форума.

У меня возник вопрос по поводу кэширования. Не знаю почему, но у меня с ним с самого начала не задалось, не могу разобраться как грамотно всё это настроить.
Сейчас настроен Authcache. В settings.php в $conf['cacherouter'] было прописано 'engine' => 'db', мне казалось, что страницы медленно грузятся. Поменял на 'engine' => 'file'. То ли самовнушение сработало, то ли действительно быстрее стали страницы загружаться. И вроде бы всё здорово, но когда я зашёл в папку files/filecache, то просто офигел. Там такое впечатление, что тысячи или десятки тысяч файлов кэша! Это при том, что сайт ещё находится вообще в тестовом режиме и посетителей там почти нет.

В чём может быть дело? Что я мог неправильно настроить? Кэширование у меня сейчас включено для всех ролей (в том числе и для анонимов). Может это как-то повлиять или нет? Для страниц администрирования я кэширование отключил. Включены Компрессия страниц и Кэш блоков. Также включены оптимизация CSS и оптимизация JS (но это вообще не должно было на кэше никак отразиться).

Сайт работает в связке с другим сайтами через SingleSignOn. Что ещё добавить, даже не знаю.

Или это нормально, что там такое нереальное количество фалов кэша сохраняется?
Может их просто надо чистить раз в какое-то время? (сайт работает не больше 3-4 недель, посетителей почти нет, поэтому и недоумение по поводу количества файлов).

Комментарии

Аватар пользователя sf3 sf3 15 августа 2010 в 8:24

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

Аватар пользователя W32 W32 4 июня 2011 в 1:07

"misterpronin" wrote:
Мне вот интересно для работы модуля filecache нужно отключать стандартное кеширование или нет? Кто-нибудь в курсе?

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

Модуль сам по себе очень хорош, чем то похож на Boost. Но boost для D7 кроме аппача нигде не запустишь, а этот можно запустить свободно на lighttpd.

Аватар пользователя chilic chilic 4 июня 2011 в 1:36

1) Модуль boost запускается на любом сервере.
2) Для файлового кэша это один из лучших модулей, поскольку он позволяет почти полностью обойти php
т.е. для выдачи кэшированного контента php не используется, используется только mod_rewtite в случае apache
3) cacherouter - лучше использовать только для того чтобы разнести кэш по разным хранилищам, если у Вас весь кэш храниться в одном месте, зачем ставить кэшроутер?
4) Authcache имеет ряд минусов, зачастую узнавая их многие отказываются от этого модуля.

Связка Authcache+Cacherouter при файловом кэше, точно не даст Вам большой производительности.
Лучше уже memcache или оставить кэш в БД, он же по умолчанию там не просто так Smile

Аватар пользователя W32 W32 4 июня 2011 в 12:02

"<a href="mailto:chilic@drupal.org">chilic@drupal.org</a>" wrote:
1) Модуль boost запускается на любом сервере.

ну тогда заставьте работать его на lighttpd!

"<a href="mailto:chilic@drupal.org">chilic@drupal.org</a>" wrote:
2) Для файлового кэша это один из лучших модулей, поскольку он позволяет почти полностью обойти php
т.е. для выдачи кэшированного контента php не используется, используется только mod_rewtite в случае apache

это верно, только опять же работает это только на апаче.

Аватар пользователя W32 W32 4 июня 2011 в 14:26

"RxB" wrote:
Перепиши реврайты, никто не говорил что он будет работать изкаропке

Вот в том-то и дело, что полного аналога апачского реврайта ни на lighttpd ни где бы то еще - нет. Если бы условие перенаправления на php процесс в boost было бы простенькое - переписали бы давно, но правило там сложное.
Посмотрите в issue tracker буста и увидите... там ветка обсуждения как сделать буст рабочим на lighttpd тянется еще с 6-го друпала.
P.S.: я бы с радостью буст себе поставил, но - не работает.

Аватар пользователя chilic chilic 4 июня 2011 в 16:22

Вот именно! Отсутствие апачевсуих реврайтов на других серверах, совершенно не означает то что boost работать на них (других серверах) не будет. Smile

Реврайты написать не составит для любого сервера.

Аватар пользователя W32 W32 8 июля 2011 в 0:17

"<a href="mailto:chilic@drupal.org">chilic@drupal.org</a>" wrote:
Реврайты написать не составит для любого сервера.

Вы конечно лучше меня в этом разбираетесь, не спорю. Но может тогда напишите реврайты для boost-a чтобы он на lighttpd работал? оказали бы неоценимую услугу для всего друпал-сообщеста, а тот там бедные уже больше года наверное написать ни как не могут.

Аватар пользователя W32 W32 11 июля 2011 в 12:13

"<a href="mailto:chilic@drupal.org">chilic@drupal.org</a>" wrote:
http://drupal.org/node/150909[/quote]
Прочитайте последний топик этой ветки Smile Я как раз задавал Garrett Albright те же самые вопросы - он четко сказал - "я уже три раза отвечал, правила для boost в lighttpd создать нельзя, именно из-за разной методики работы дериктив light-а и апача. Кто считает иначе - дерзайте."

"<a href="mailto:chilic@drupal.org">chilic@drupal.org</a>" wrote:
http://drupal.org/files/issues/boost_lighttpd_luaRules_ver1.txt[/quote]
Это костыль (и так думаю не только я). Я лично не хочу чтобы у меня на сайте еще и линки скриптами обрабатывались. И, кстати, к правилам он не имеет никакого отношения. Его и на апаче прикрутить можно (при желании особо извращаться). На lighttpd его не от хорошей жизни используют.

ИМХО, чтобы буст заработал еще где-либо кроме апача - нужны правки в его коде.

Аватар пользователя Crea Crea 11 июля 2011 в 13:11

W32 wrote:

ИМХО, чтобы буст заработал еще где-либо кроме апача - нужны правки в его коде.

враки, с nginx все работает

Аватар пользователя Crea Crea 11 июля 2011 в 23:56

IT вещь точная, здесь все однозначно
либо работает, либо нет, и ИМХО здесь не поможет, ИМХО Smile
Для nginx + boost на drupal.org даже конфиги готовые есть.