В каких случаях нужно удалять весь кэш?

12 3
MK
На сайте с 06.11.2011
Offline
48
1750

Добрый день,

Пользуюсь плагином для кэширования на Wordpress. Подскажите, пожалуйста, в каких случаях нужно удалять весь кэш? Нужно ли это делать когда происходят какие-либо изменения на сайте (изменяется код, добавляются дизайн)?

Спасибо!

[Удален]
#1

Очищать кэш не стоит!

[Удален]
#2

Большинство плагинов кеширования для WP создают статические HTML страницы, чтобы впоследствии отдавать их пользователю. Это гораздо проще, т.к. не надо обрабатывать функции PHP, делать запросы к Базе Данных и т.д.

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

Иногда это не так уж и важно. И снижение нагрузки на сервер важнее.

В некоторых случаях можно выставить срок кеширования поменьше.

Если Вы нашли какую-то серьезную ошибку по всему сайту и исправили ее, то, естественно, стоит сбросить весь кеш, чтобы пользователи не продолжали видеть устаревшие страницы с ошибкой.

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

Вообще, в очистке кеша нет ничего очень старшного. Он просто начинает при этом заполнятся заново. :)

MK
На сайте с 06.11.2011
Offline
48
#3
BrimStone:
Большинство плагинов кеширования для WP создают статические HTML страницы, чтобы впоследствии отдавать их пользователю. Это гораздо проще, т.к. не надо обрабатывать функции PHP, делать запросы к Базе Данных и т.д.

При этом, если у Вас в сайдбаре выводятся заголовки последних новостей или последние комментарии (или что-то часто обновляющееся), а время кеширования - 7 дней. То на каких-то страницах "последние комментарии" окажутся совсем не последними. :)
Иногда это не так уж и важно. И снижение нагрузки на сервер важнее.

В некоторых случаях можно выставить срок кеширования поменьше.

Если Вы нашли какую-то серьезную ошибку по всему сайту и исправили ее, то, естественно, стоит сбросить весь кеш, чтобы пользователи не продолжали видеть устаревшие страницы с ошибкой.

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

Вообще, в очистке кеша нет ничего очень старшного. Он просто начинает при этом заполнятся заново. :)

Спасибо за ответ. Возможно вы можете рекомендовать какой срок кеширования лучше выставить для данного новостного портала - FreeSMI.by . В день примерно по 20-25 статей. Использую HyperCache. Сейчас установлено, что закешированные страницы действительны в течение 24 часов -- http://gyazo.com/e5b4787f890ce897e47b0e85329b357d Какой срок кеширования для браузера устанавливают для новостных порталов. Можно ли это как-нибудь посмотреть в кодах других порталов?

Спасибо

[Удален]
#4

Боюсь, что со временем кеширования Вам придется определиться самостоятельно.

По большей части это зависит от 2 параметров:

1. Насколько сильно проект грузит сервер. Если проблем с нагрузкой нет, можно выставить хоть 10 минут. Если есть, то плясать уже придется от нее.

2. Смотря сколько всего и где у Вас обновляется при публикации новой записи и насколько это обновление критично для посетителей. На одном из сайтов у меня 1 минута стоит. Потому что там постоянно что-то обновляется. И даже в этом случае при высокой посещаемости смысл в кешировании есть.

Может быть вообще стоит посмотреть на плагин, который умеет очищать весь кеш при публикации новой записи. В WP Super Cache, по-моему, такое есть. Но могу ошибаться.

SeVlad
На сайте с 03.11.2008
Offline
1528
#5
MC_KoT:
В день примерно по 20-25 статей.

Более важно не сколько новых постов, а какую нагрузку создают пользователи и как с этим справляется сервер.

BrimStone:
Если проблем с нагрузкой нет, можно выставить хоть 10 минут.

ИМХО чем так - лучше совсем отказаться от кеширования :)

BrimStone:
На одном из сайтов у меня 1 минута стоит. Потому что там постоянно что-то обновляется. И даже в этом случае при высокой посещаемости смысл в кешировании есть.

Да ладно! При ежеминутном сбросе кеша?! Ничего кроме доп. нагрузки это не даёт :) К счастью многие плагины генерят в кеш только те страницы, к которым есть обращения. Это несколько нивелирует нагрузку. Если бы ещё не роботы ПС.. :)

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
[Удален]
#6
SeVlad:
Да ладно! При ежеминутном сбросе кеша?! Ничего кроме доп. нагрузки это не даёт К счастью многие плагины генерят в кеш только те страницы, к которым есть обращения. Это несколько нивелирует нагрузку. Если бы ещё не роботы ПС..

Вы уже не первый теоретик, который мне об этом говорит. :)

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

Пиковая нагрузка по Яндекс.Метрике - 12 запросов в секунду. 12*60 = 720 в минуту. 85% от 720 = 612 на главную страницу.

Даже если эту цифру ополовинить, получится 300 запросов одной страницы за минуту. Поверьте, кеш отлично снижает нагрузку даже при таких настройках.

Хотя, соглашусь, что это будет работать не для всех и не всегда. :)

MK
На сайте с 06.11.2011
Offline
48
#7
BrimStone:
Боюсь, что со временем кеширования Вам придется определиться самостоятельно.
По большей части это зависит от 2 параметров:
1. Насколько сильно проект грузит сервер. Если проблем с нагрузкой нет, можно выставить хоть 10 минут. Если есть, то плясать уже придется от нее.
2. Смотря сколько всего и где у Вас обновляется при публикации новой записи и насколько это обновление критично для посетителей. На одном из сайтов у меня 1 минута стоит. Потому что там постоянно что-то обновляется. И даже в этом случае при высокой посещаемости смысл в кешировании есть.

Может быть вообще стоит посмотреть на плагин, который умеет очищать весь кеш при публикации новой записи. В WP Super Cache, по-моему, такое есть. Но могу ошибаться.

1. Правильно ли я понял, что чем больше проект грузит сервер, тем выше должно быть время кеширования? К примеру, в каких случаях делается срок кеширования на 24 часа, а в каких на 10 минут? Просто разниза колосальная. Сейчас стоит 24 часа. Не очень ли много?

2. Обновляется информация в сайдбаре -- сбоку каждой записи, при появлении новой записи добавляются ссылки на новые записи

[Удален]
#8
MC_KoT:
1. Правильно ли я понял, что чем больше проект грузит сервер, тем выше должно быть время кеширования? К примеру, в каких случаях делается срок кеширования на 24 часа, а в каких на 10 минут? Просто разниза колосальная. Сейчас стоит 24 часа. Не очень ли много?

Как работает кеширование.

Без кеширования. Пользователь открывает сайт, начинает генерироваться страница: выполняются функции PHP, запросы к БД и т.д. В случае с WP, да и почти с любой CMS это сотни разных операций, на выполнение которых требуется время и ресурсы.

Плагин кеширования в тот момент, когда страница генерируется, создает ее HTML-копию.

Для того, чтобы показывать пользователю HTML-страницу нужна 1 операция, а не сотни.

Реальный пример:

Quick Cache file built for (xxx_ru) in 0.35799 seconds

Cache file served for (xxx_ru) in 0.00074 seconds

Разница в 483 раза. :)

Если мы зададим время кеширования 1 минута, то вся эта нагрузка будет создаваться раз в минуту (в случае если страница посещается так часто, конечно).

10 минут - значит, раз в 10 минут.

24 часа - раз в 24 часа.

Соответственно, чем большее время кеширования Вы зададите, тем сильнее снизится нагрузка на сервер. Если задать 30 дней, то страница будет создана 1 раз и многократно будет отдаваться ее сохраненная копия.

MC_KoT:
2. Обновляется информация в сайдбаре -- сбоку каждой записи, при появлении новой записи добавляются ссылки на новые записи

Вот тут нам приходится идти на компромисс между обновлением информации по всему сайту и снижением нагрузки.

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

Если же у Вас обычный блог, в котором 90% посещений приходится на главную страницу и самый свежий пост, в котором в сайдбаре все и так актуально, то время кеширования можно выставить и в месяц.

Ну увидят 10% посетителей не самый свежий сайдбар. Ну и что? Он же не будет пустым, им все равно будет, чем заинтересоваться. :)

Так что универсального времени кеширования не бывает. Все зависит от задач.

---------- Добавлено 02.11.2014 в 11:15 ----------

Quick Cache file built for (xxx_ru) in 0.35799 seconds

Cache file served for (xxx_ru) in 0.00074 seconds

Еще немного по реальным цифрам. Возьмем сферическую страницу в вакууме, которую посещают стабильно 10 раз в минуту.

Промежуток расчетов - 1 час. Т.е. всего будет 60*10 = 600 посещений страницы за час.

Время кеширования 1 час:

Мы потратили 0.35799 1 раз на создание копии в кеше, и 599 раз по 0.00074 секунды, чтобы показывать закешированную копию.

Итого: 0.80125 секунды.

Время кеширования 10 минут:

Мы потратили 0.35799 6 раз на создание копии в кеше, и 594 раза по 0.00074 секунды, чтобы показывать закешированную копию.

Итого: 2.14794 + 0.43956 = 2.5875 секунды.

Время кеширования 1 минута:

Мы потратили 0.35799 60 раз на создание копии в кеше, и 540 раз по 0.00074 секунды, чтобы показывать закешированную копию.

Итого: 21.4794 + 0.3996 = 21.879 секунды.

Без кеширования:

0.35799 600 раз, ибо кеша нет.

Итого: 214.794 секунд.

Расчеты, безусловно, очень грубые. Как заметил SeVlad, у кеширующего плагина есть свои накладные расходы. Даже, чтобы отдать закешированную страницу, он должен проверить есть ли уже эта копия. А он тоже написан на PHP и требует некоторых ресурсов.

Если сайт посещают 2 раза в день, а время кеширования 1 минута, то на создание копий в кеше будет уходить больше ресурсов, чем без кеша вообще.

Но общее понимание должно появиться. :)

SeVlad
На сайте с 03.11.2008
Offline
1528
#9
BrimStone:
Пиковая нагрузка по Яндекс.Метрике

Это не нагрузка, а статистика обращений. Причем неправильная и на 100% зависит от того дошел ли робот до своего кода :). Сравни с северной статистикой.

BrimStone:
Вы уже не первый теоретик, который мне об этом говорит

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

DV
На сайте с 01.05.2010
Offline
644
#10

MC_KoT, можно понаблюдать за обновлением контента из-под гостя. Если всё вовремя корректно появляется, ничего очищать не надо.

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

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
12 3

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