Основной курс по Joomla
0 Пользователей и 1 Гость просматривают эту тему.
  • 9 Ответов
  • 27600 Просмотров
*

Veles

  • Осваиваюсь на форуме
  • ***
  • 46
  • 4
Сколько ставить время жизни кэша? Чем черевато если кэш будет выставлен на 10 дней? Если в папке кэша будет огромное число файлов это грузит процессор? Насколько сильно?
*

smart

  • Администратор
  • *******
  • 6846
  • 1297
а кто мешает по cron'у чистить директорию cache?
*

Veles

  • Осваиваюсь на форуме
  • ***
  • 46
  • 4
никто не мешает, я спрашивал об установке оптимального времени кэша. Сколько кто у себя выставляет?
*

raduga

  • Осваиваюсь на форуме
  • ***
  • 71
  • 73
никто не мешает, я спрашивал об установке оптимального времени кэша. Сколько кто у себя выставляет?

Смотри в зависимости от обновлений на сайте.
*

aquaray

  • Осваиваюсь на форуме
  • ***
  • 106
  • 3
никто не мешает, я спрашивал об установке оптимального времени кэша. Сколько кто у себя выставляет?
Я выставил 1300...
*

smart

  • Администратор
  • *******
  • 6846
  • 1297
Смотри в зависимости от обновлений на сайте.
на самом деле это тоже не является определяющим фактором. чтобы объяснить почему, давайте рассмотрим КАК работает кэш.

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

при последующих обращения, менеджер кэша проверяет, существует ли в кэше объект с заданными параметрами (в том числе названием, содержимым, датой создания и модификации) если нет — значит материал изменялся или же, просто еще ни разу не кэшировался. В первом случае создастся новый файл кэша для этого объекта, во-втором - просто добавится. Если же закэшированные данные есть, то вот в этом случае и происходит проверка времени кэширования: если время создания кэша старее чем указанное в параметрах — объект будет закэширован заново.

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

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





*

Veles

  • Осваиваюсь на форуме
  • ***
  • 46
  • 4
smart, большое человеческое спасибо за эту статью – «Все что вы хотели знать о кэше, но боялись спросить». Думаю, это стоит в отдельную страничку на joomlaportal положить.

А что по поводу кол-ва этих файлов кэша, ведь их там, как я понимаю, огромное кол-во появляется. Как определить кол-во при котором кэш начинает грузить сервер и его нужно удалять кроном?
*

smart

  • Администратор
  • *******
  • 6846
  • 1297
smart, большое человеческое спасибо за эту статью – «Все что вы хотели знать о кэше, но боялись спросить». Думаю, это стоит в отдельную страничку на joomlaportal положить.
всегда пожалуйста ;D после праздников выложу обязательно...

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

smart

  • Администратор
  • *******
  • 6846
  • 1297
сам принцип выставления времени жизни в корне неправильный.
кэш надо обновлять в зависимости от наличия обновления материала в бд.
не обязательно, допустим есть задача показывать случайную новость раз в час, намного проще это отрегулировать на уровне кэша, чтобы данный блок кэшировался на час... другое дело, что механизм кэширования в Joomla далек от совершенства и по своей простоте похож на штык трехлинейки... это да... но если отталкиваться от того, что у нас есть, то единственное чем можно реально управлять, это временем жизни кэша
*

DyakonFrost

  • Осваиваюсь на форуме
  • ***
  • 42
  • 1
У меня ситуация такая: хостер выделяет под сайт 5% процессора и 64 мегабайта памяти. Если кэш отключен эти пределы превышаются. Ну я и стал подбирать по нагрузке. Сначала поставил побольше, а потом постепенно уменьшал, параллельно получая статистику по нагрузке. Уменьшал до тех пор, пока нагрузка не опустилась до предельного значения установленного хостером и в итоге получил время жизни кэша 30 минут. Нагрузка на процессор в пределах 5% (+/- десятые, но это не существенно). В некоторых модулях кэш вообще отключил, например в модуле вывода последних комментариев и в модуле случайное видео.