Self-host Next.js на VPS: TTFB под 700мс и 3.5 гига памяти. Объясните, за что я страдаю

Рейтинг: 70.2% · 15 голосов
Frontend и backend разработка: JavaScript, TypeScript, React, Next.js, Vue, Node.js, PHP, REST и GraphQL API, вёрстка HTML/CSS и современные веб-приложения.
Ответить
Аватара пользователя
coder_vasya
Сообщения: 73
Зарегистрирован: 12 май 2026, 05:35

Self-host Next.js на VPS: TTFB под 700мс и 3.5 гига памяти. Объясните, за что я страдаю

Сообщение coder_vasya »

Сайт интернет-магазина, Next.js 15, app router, около 2000 страниц (карточки товаров). Vercel отпадает по понятным причинам, карту РФ не привяжешь, да и дорого. Крутится на Timeweb Cloud, 2 vCPU / 4 ГБ за 2090 руб в месяц, next start за nginx.

Проблемы:
TTFB на карточке товара 400-700мс. Пока next отрендерит, пока сходит в апи...
Память. Процесс стартует с 300мб, через сутки 3.5гб, его прибивает OOM killer, и дальше по кругу. Подозреваю оптимизатор картинок, на товарах их много.
При деплое билд жрет столько, что сайт лежит минуту-другую.

До этого был статический сайт, nginx отдавал страницы за 30мс с VPS за 400 рублей. SEO-шник топил за SSR, мол индексация лучше. По факту плачу в 5 раз больше за сайт, который в 20 раз медленнее. Что я делаю не так?
👍 ❤️ 🔥1 😄1 🤔
✔ Лучший ответ сформирован автоматически — nfrancis
По пунктам. 1) Карточки у тебя наверняка рендерятся на каждый запрос. Добавь ISR, revalidate 3600, и next будет отдавать их из кеша почти как статику. 2) Встроенный оптимизатор картинок в проде это боль, выноси в imgproxy (отдельный контейнер, ест 100мб) или сразу в CDN, selectel storage + их CDN стоит копейки. 3) Билд на проде это зря. Собирай в CI, output standalone, выкатывай готовый образ, то…
Перейти к ответу →
Аватара пользователя
nfrancis
Сообщения: 20
Зарегистрирован: 17 май 2026, 23:25

Re: Self-host Next.js на VPS: TTFB под 700мс и 3.5 гига памяти. Объясните, за что я страдаю

Сообщение nfrancis »

✔ Лучший ответ — сформирован автоматически
По пунктам. 1) Карточки у тебя наверняка рендерятся на каждый запрос. Добавь ISR, revalidate 3600, и next будет отдавать их из кеша почти как статику. 2) Встроенный оптимизатор картинок в проде это боль, выноси в imgproxy (отдельный контейнер, ест 100мб) или сразу в CDN, selectel storage + их CDN стоит копейки. 3) Билд на проде это зря. Собирай в CI, output standalone, выкатывай готовый образ, тогда сайт при деплое лежать не будет.
👍1 ❤️ 🔥 😄1 🤔1
Аватара пользователя
RaspberryWhale
Сообщения: 17
Зарегистрирован: 11 май 2026, 16:44

Re: Self-host Next.js на VPS: TTFB под 700мс и 3.5 гига памяти. Объясните, за что я страдаю

Сообщение RaspberryWhale »

а зачем магазину на 2000 товаров SSR в принципе? generateStaticParams на билде и у тебя снова статика, только с реактом. SEO-шник твой путает SSR и SSG, гугл с яндексом одинаково съедят и то и то
👍3 ❤️ 🔥1 😄 🤔
Аватара пользователя
danga
Сообщения: 18
Зарегистрирован: 17 май 2026, 16:34

Re: Self-host Next.js на VPS: TTFB под 700мс и 3.5 гига памяти. Объясните, за что я страдаю

Сообщение danga »

next start одним процессом в проде... хотя бы pm2 в кластер-режиме, у тебя второе ядро просто простаивает
👍1 ❤️ 🔥2 😄 🤔1
Аватара пользователя
coder_anton
Сообщения: 32
Зарегистрирован: 11 май 2026, 16:50

Re: Self-host Next.js на VPS: TTFB под 700мс и 3.5 гига памяти. Объясните, за что я страдаю

Сообщение coder_anton »

проходил это. в итоге плюнул, сделал output export, статику в nginx, динамику (корзина, остатки) дотягиваю с апи на клиенте. TTFB вернулся к 40мс, vps снова дешевый. полгода полет нормальный, позиции в яндексе не просели ни на пункт
👍2 ❤️1 🔥 😄 🤔
Аватара пользователя
icu2
Сообщения: 65
Зарегистрирован: 14 май 2026, 06:04

Re: Self-host Next.js на VPS: TTFB под 700мс и 3.5 гига памяти. Объясните, за что я страдаю

Сообщение icu2 »

Не соглашусь с советами выкинуть SSR. У нас next держит 200 rps на двух таких же vps, TTFB 80-120мс. Но: ISR на всем каталоге, imgproxy, redis для кеша походов в апи, standalone сборка в CI. Из коробки next в проде действительно ведет себя как прожорливая хрень, его готовить надо. У ТС не проблема технологии, а дефолтный конфиг, который никто не трогал.
👍 ❤️ 🔥1 😄1 🤔
Ответить
Поделиться темой: ✈ Telegram VK

Вернуться в «Веб-разработка»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость