ООО НАЙНЛАБ
HighLoad Judo Battle: 15 000 одновременных соединений без 502
ООО НАЙНЛАБ
#Поддержка и развитие сайта#Программирование сайта#Тестирование сайта

HighLoad Judo Battle: 15 000 одновременных соединений без 502

ООО НАЙНЛАБ Россия, Москва
Поделиться: 0 0 0
HighLoad Judo Battle: 15 000 одновременных соединений без 502
Сфера

Развлечение и спорт

Сдано

Август 2025

Задача

Спортивный портал с тяжёлым фронтендом: Next.js SSR, 24 JS-чанка, динамический контент и CMS Strapi. На турнирных пиках нужно держать 15 000 одновременных подключений без деградации для зрителей и без обрыва сессий админов.

Было: Nginx, фронт, бэкенд и БД на одном сервере. При пике CPU уходил в 100%, Strapi работал в одном потоке, SSH был открыт наружу.

Решение

Разделили монолит на три узла в закрытой сети: Proxy (Nginx + Varnish, 12 ГБ кэша), Frontend (PM2-кластер, 8 инстансов Next.js), Backend (4 инстанса Strapi). Снаружи виден только порт 443.

Varnish с кастомным VCL: статика на год, SEO-страницы 10 минут, динамика в обход кэша. Grace mode отдаёт устаревшую страницу до часа при падении бэкенда — пользователь не видит 502.

CI/CD без простоя: опрос репозитория, бэкап, сборка, безопасный рестарт PM2. SSL обновляется по таймеру.

Результат

15 000+ одновременных соединений без отказа.

100 000 запросов в одном прогоне стресс-теста.

CPU Proxy в пике ≤ 25%; фронт и бэкенд — 1–3% (кэш работает).

0 ответов 502/504 для пользователей за счёт grace mode.

Предел упёрся в канал хостинга (~1 Гбит/с), не в приложение.

https://judobattle.com

Стек технологий


Оцените кейс
Спасибо за оценку
Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

ООО НАЙНЛАБ с удовольствием обсудит вашу задачу

Оставить заявку