Четыре сайта на одном и том же коде прогрева. Замер на тестовых копиях за 6 часов показал разницу, которая не укладывается в голову: от нуля до пяти тысяч запросов.

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

СайтЗапросов прогрева за 6 часов
каталог техники с поддоменами (самый крупный)0
каталог среднего размера4320
каталог с двумя языками5109
два сайта на одной теме74
тестовые копии, одинаковый код прогрева

Ноль — не значит сломан

Первая реакция на ноль у самого крупного сайта — прогрев сломан. Его же отчёт говорил: проверено 2528 ячеек, пропущено 0. Прогрев молчал, потому что греть было нечего: всё и так было тёплым.

«Ничего не делает» и «всё сделано» снаружи выглядят одинаково. Отличить их можно только по отчёту проверки — поэтому он и нужен.

Откуда тысячи

На двух сайтах с тысячами запросов работал часовой добор — обход всех страниц раз в час. Его добавили, когда кэш жил 30 минут и каталог к полудню выпадал из кэша из-за волн обмена 1С. В коде стоял комментарий: «тёплая страница стоит дёшево, 0,02 с».

Комментарий был неверным. При фоновом обновлении запрос к устаревшей копии отдаётся за 0,02 с, но запускает полный рендер в фоне (третья часть). 178 адресов × 2 устройства каждый час — около 712 рендеров в час, впустую.

Кто на самом деле нагружает сайт

Сутки на рабочем сайте с двумя языками: 18 386 запросов к PHP, из них 13 722 — обходчик. 75 % нагрузки — прогрев. Живых запросов страниц — около 3420.

Но и тут разбор показал важное: основной объём шёл не от расписания, а от полных сбросов. Каждый выкат — это полный круг, около 2000 запросов. Чем чаще выкаты, тем больше прогрева.

Что сделали

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

Частота обхода у нас так и не стала единой: где-то раз в сутки, где-то раз в 6 часов — там, где круг маленький и заодно наполняет реестр блоков. Универсального числа нет; правило одно — обход не для свежести.

Хотите понять, сколько нагрузки создаёт ваш прогрев?

Пришлите доступ к журналам — посчитаю долю обходчика в запросах к PHP.

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

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

Комментарии

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

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