Трекер-стек
Трекер-стек
@tracker_stack_ubt

Как не положить self-hosted трекер под нагрузкой: серверный чек-лист

Как не положить self-hosted трекер под нагрузкой: серверный чек-лист

Self-hosted трекер умирает не от «плохого кода», а от узких мест в I/O, БД и очередях. Сначала фиксируем базу: отдельный диск под логи и базу, SSD с запасом по write endurance, swap — только как аварийный буфер.

Дальше смотрим на БД: индексы по source, campaign_id, click_id и времени события обязательны. Если таблицы событий растут без партиционирования — запросы начинают съедать CPU и блокировать запись. Для высоких объёмов полезны read-replica и вынесенный аналитический контур, чтобы отчёты не душили приемку кликов.

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

Отдельно проверь лимиты: file descriptors, conntrack, backlog, max connections в БД и таймауты между сервисами. Если логи растут быстрее, чем ты их читаешь, автоматизируй ротацию и алерты по latency, error rate и queue depth. Чистим логи, проверяем постбэки. Технический стек определяет потолок вашего ROI.
Этот пост опубликован в Telegram-канале Трекер-стек. Подписаться можно по ссылке: @tracker_stack_ubt.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.