~ / blog / kesh

Кэширование — страница 7

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

#Кэширование 2 мин

Объём кэша растёт по числу ключей, а не по трафику

Языковая кука в ключе — и кэш за ночь вырос с 28 до 293 МБ при том же трафике. Страницы × устройства × языки × метки: как посчитать объём, почему при кэше на неделю потолок поднимают в той же правке и как посмотреть кэш, не трогая сайт.

· · ·
#Кэширование 2 мин

Кэш на неделю, а свежесть — от инвалидации: модель и её честная цена

Изменились данные — страница сбрасывается и греется; не менялись — греть незачем. valid 7d, inactive 7d, max_size 1g, сброс при выкате обязателен. Цена: пропущенный хук стоит не полчаса, а неделю.

· · ·
#Кэширование 2 мин

Короткая валидность кэша не бесплатна: сколько стоит STALE

Кэш на 30 минут с фоновым обновлением: 1,3–1,7 ядра круглосуточно при нуле посетителей и окно обновления до 1,5 с для следующего посетителя. После перехода на неделю — CPU 30–49 % → 0–4 %. И контрпример, где экономии не было.

· · ·
#Кэширование 2 мин

valid, inactive, max_size: три параметра кэша nginx, которые все путают

valid — свежесть, inactive — удаление за простой, max_size — потолок. inactive=2h за тихую ночь делал 79 из 89 страниц холодными, хотя блоки были тёплыми на 100 %. Что за что отвечает и конфигурация, к которой мы пришли.

· · ·

$ tail -f /blog

Не пропустите новые статьи

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

В Telegramодна кнопка «Старт» в боте

или на почту

связаться

Расскажите о задаче