В четвёртой части мы договорились: свежесть даёт инвалидация, а не таймер. Изменились данные — страница сброшена и прогрета. Зачем тогда вообще обходить сайт по расписанию? Вопрос справедливый, и ответов на него три — ни один не про свежесть.

Это двадцать седьмая часть цикла «Кэш страниц без MISS».

1. После массового сброса первым посетителем должны быть мы

Точечный сброс прогревает свою страницу сам (тринадцатая часть). Но бывают сбросы, после которых холодным становится всё: выкат, большая волна обмена, ручная чистка. Здесь нужен обход всего перечня — по важности, главная первой. Без него каждый первый посетитель каждой страницы получает MISS.

2. Защита от вытеснения

Копия может пропасть и без сброса: nginx удаляет давно не запрошенные (inactive) и выкидывает старые при переполнении (max_size) — вторая и пятая части. Редкая страница, к которой неделю не заходили, исчезнет, и следующий посетитель получит MISS.

Суточный обход освежает время обращения к каждой копии и держит хвост в кэше. Это страховка, поэтому раз в сутки достаточно.

3. Неочевидная роль: перечень блоков

Обходчик не только греет страницу, но и читает её разметку. Из неё он вынимает контейнеры блоков, которые страница догружает отдельными запросами, и записывает их в реестр ячеек кэша фрагментов (о нём — второй цикл).

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

Что обход не должен делать

  • Не обеспечивать свежесть — это задача инвалидации. Часовой «добор», который гоняет все страницы ради свежести, при кэше на неделю только нагружает сервер (тридцать вторая часть).
  • Не греть уже тёплое заново — при фоновом обновлении каждый запрос к устаревшей копии — полный рендер (третья часть).

Что дальше в этой части цикла

  • откуда обходчик берёт перечень адресов;
  • как устроен воркер и почему он ходит не через публичный домен;
  • почему последовательный обходчик нагружает пул PHP;
  • что обычно выпадает из прогрева.

Не уверены, нужен ли вашему сайту обход?

Пришлите адрес — посмотрю, что у вас вытесняется из кэша и как часто.

· полезно?
АЧ
Алексей Чикун веб-разработчик, команда TRIOHEAD

Делаю сайты и сервисы целиком: от вёрстки до сервера. Пишу о том, что проверил на своих проектах.

Комментарии

// загружаю комментарии…

Комментарии публикуются после проверки. Ссылки и HTML не принимаются.