~ / blog

Блог — страница 19

Пишу о том, что делаю каждый день: скорость сайтов, кэш, обмен с 1С, серверы и WordPress без лишнего.

#PageSpeed 3 мин

Зонд мешает тому, что меряет: пять ловушек собственных замеров скорости

Наблюдение на каждом кадре показало задержку 7448 мс при настоящих 1499. curl -I проверял не тот кэш, массовый обход мерил сам себя, а первый же запрос «чинил» холодные страницы. Как не обмануть себя своим зондом.

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

Ключ кэша nginx: что в него входит и как куки дробят ячейки

HEAD и GET — разные ячейки (250 мусорных от проверки curl -I), кука сортировки со значением default давала посетителю личный холодный кэш. Склейка через map, квирк nginx со словом default и как найти забытые в ключе куки.

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

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

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

· · ·
#PageSpeed 3 мин

Ловушка «заблокирую файл и посмотрю»: почему эксперимент с блокировкой врёт

Заблокировали видео — LCP стал хуже: 16,2 с против 15,1. Вывод «видео ни при чём» оказался ложным: оно занимало 706 КБ из 960 в окне первой отрисовки. Почему блокировка меняет саму страницу и как проверять вину правильно.

· · ·
#Кэширование 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одна кнопка «Старт» в боте

или на почту

связаться

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