Цикл начался с цели: посетитель в худшем случае получает 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 из 89 | 167 из 167 |
| второй сайт на той же теме | 22 из 22 | 104 из 104 |
Что дальше
Блоки, которые страница догружает отдельными запросами, мы в этом цикле упоминали много раз: сторож полноты, реестр ячеек, ускоренный догрев. Как устроен их собственный кэш — от версий в ключе до Redis — разбираем в цикле «Кэш фрагментов и Redis».
Хотите проверить свой сайт по этой методике?
Пришлите адрес — пройду четыре шага и покажу, где у вас MISS.
// загружаю комментарии…