Разработка сайтов

HIT / MISS

HIT / MISS

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

Почему в замере скорости всегда подписывают, попали в копию или нет

Сцена знакомая многим. Подрядчик присылает отчёт: раздел каталога открывается за десятую долю секунды. Владелец открывает тот же раздел утром — семь секунд. Оба честны и оба меряли настоящий сайт. Разница в том, что подрядчик попал в готовую копию, а владелец оказался первым после ночного сброса и получил полную сборку.

Пока в отчёте нет пометки, каким был ответ, цифры несравнимы между собой. Можно случайно сравнить «до» из тяжёлого сценария с «после» из лёгкого и отчитаться об ускорении, которого не было. Можно наоборот — не заметить, что настройка уже работает.

Поэтому правило простое: у каждой строки замера есть подпись. Попадание или промах, какой адрес, в какое время. Это дисциплина отчёта, а не педантизм.

Две одинаковые карточки отчёта по одному разделу каталога: слева цифры без условий замера, справа обе цифры с пометкой, была ли готовая копия.
Слева цифры без условий, и они противоречат друг другу. Справа обе строки подписаны.

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

Когда промах — это нормально

  • Первый заход после сброса копий — например, сразу после загрузки нового прайса.
  • Срок жизни копии истёк, и она считается устаревшей.
  • Адрес отличается от сохранённого: другая сортировка, страница пагинации, рекламная метка в ссылке.
  • Страница в исключениях: корзина, оформление, личный кабинет, поиск.
  • Зашёл поисковый робот или сервис проверки по редкому адресу, которого раньше никто не открывал.

Когда попадание вредит

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

Проверять стоит ровно те места, где на странице появляется что-то персональное или часто меняющееся.

СитуацияЧем рискуемЧто сделать
Счётчик корзины в шапкеЧеловек видит чужой набор или пустую корзинуНе отдавать копию тем, у кого корзина не пуста
Правка цены или акцииНа экране держится прежний прайсСбрасывать копии страниц товара и разделов при изменении
Персональная цена или скидкаКлиент видит чужие условияИсключить такие страницы из хранения целиком
Товар закончилсяЗаказ на то, чего нет на складеСбрасывать копию при изменении наличия

Как перестать спорить о цифрах

  1. Выбрать список контрольных адресов: главная, два-три ходовых раздела, популярная карточка, страница услуги.
  2. Мерить каждый адрес дважды: первый заход без готовой копии и повторный.
  3. Записывать обе цифры и подпись ответа рядом, а не одну лучшую.
  4. Повторять замер в одно и то же время суток, чтобы сравнивать сопоставимое.

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

СвязкаПромах на тяжёлой странице и есть то, что называют холодным заходом, — об этом отдельно Cold. Сколько при этом человек ждал начала ответа, показывает TTFB. Что делать с устаревшими копиями после правки цен — в статье про кэш и старую цену.

HIT / MISS: как применяют

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

Частые вопросы

Что такое HIT в кэше?

Сервер нашёл заранее сохранённую копию страницы и отдал её без пересборки. Обычно это самый быстрый вариант ответа.

Что такое MISS в кэше?

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

HIT и MISS простыми словами?

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

Почему после включения кэша всё равно MISS?

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

Как проверить, попал ли запрос в кэш?

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

Зачем прогревать кэш?

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

← К разделу «Разработка сайтов»