Цикл начался с цели: посетитель в худшем случае получает STALE, но никогда — MISS. Закончим тем, как это проверить после выката. Не «открыл главную — быстро», а так, чтобы можно было сказать: всё в кэше, кроме того, что и не должно в нём быть.

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

Шаг 1. Ячейки блоков поимённо — только чтение

Пройти по реестру ячеек кэша фрагментов и для каждой проверить: есть ли она, совпадает ли версия кода. Только чтение — проверка не должна ничего рендерить и ничего ставить в очередь, иначе она сама «вылечит» то, что должна найти.

На крупном каталоге после выката: 33 001 из 33 001 ячейки тёплые и с текущей версией кода.

Шаг 2. Все адреса — двумя User-Agent, первый статус

Пройти весь перечень адресов (двадцать восьмая часть) двумя запросами — телефон и компьютер — и записать статус кэша первого ответа. Второй запрос к той же странице уже ничего не докажет.

Там же: 1190 запросов за 4 секунды, из них 1178 HIT и 12 законных BYPASS — страница сравнения и страница «спасибо за заявку», которые и не должны кэшироваться.

Законный BYPASS — не ошибка. Заранее выпишите, какие адреса должны идти мимо кэша, и сверяйте с этим списком, а не с нулём.

Шаг 3. Пагинация по пресетам

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

Шаг 4. Обычный браузер

Открыть несколько ключевых страниц в обычном браузере, на вкладке «Сеть» в DevTools посмотреть заголовки статуса кэша — у страницы и у каждого ajax-блока.

Результат на том же сайте: товарная страница — 8 из 8 блоков HIT, главная — 8 из 8 HIT, BYPASS только у персонального блока «Вы смотрели» — он у каждого свой и не кэшируется намеренно.

Норма для маленьких сайтов

СайтСтраницыЯчейки блоков
первый сайт на общей теме89 из 89167 из 167
второй сайт на той же теме22 из 22104 из 104

Что дальше

Блоки, которые страница догружает отдельными запросами, мы в этом цикле упоминали много раз: сторож полноты, реестр ячеек, ускоренный догрев. Как устроен их собственный кэш — от версий в ключе до Redis — разбираем в цикле «Кэш фрагментов и Redis».

Хотите проверить свой сайт по этой методике?

Пришлите адрес — пройду четыре шага и покажу, где у вас MISS.

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

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

Комментарии

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

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