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

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

Что показал замер

Фильтр каталога на 22 категории: 18 из 22 — MISS, в среднем 1,93 с против 0,30 с из кэша. Прогрев клал в кэш только фильтр без выбранной категории. Всё остальное ждало первого посетителя.

Засевать заранее

  • по каждой категории — сам блок и кнопка «показать ещё», в двух вариантах устройства;
  • полный засев — на редких событиях: после выката и раз в сутки;
  • на сбросе от обмена 1С — только задетая категория, а не всё;
  • заведомо пустые ячейки не ставить — категория без товаров не засевается.

Не верьте счётчику терминов. Число записей в категории, которое хранит WordPress, учитывает и удалённые записи. Пустоту определяйте запросом, а не этим полем — иначе засеете пустые ячейки и пропустите живые.

Что сознательно не греем

Сортировки. Каждая сортировка умножается на все категории, все страницы и оба устройства, а включают её редко. Цена — первый клик по сортировке около 1,1 с, дальше 0,3 с. Это осознанный компромисс; на большинстве каталогов сортировкой пользуются заметно реже, чем фильтром.

Граница «засеваем / не засеваем» проходит не по технике, а по спросу: что открывают часто — засевается заранее, что редко — живёт на первом MISS.

Фильтры каталога медленные на первом клике?

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

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

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

Комментарии

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

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