Какой сервер выбрать для магазина на Saleor и Next.js
Для небольшого магазина начните проверку Saleor с 4 vCPU, 8 ГБ памяти и 80 ГБ SSD вместе с PostgreSQL и Redis. Витрина Next.js требует отдельного расчёта: ориентир 2 vCPU и 4 ГБ без сборки и хранения фото.
Для проверки небольшого магазина выберите Linux VPS с 4 vCPU, 8 ГБ оперативной памяти и 80 ГБ SSD под Saleor, небольшую PostgreSQL, Redis и фоновые задания. Отдельно предусмотрите витрину Next.js: для начала проверяйте 2 vCPU, 4 ГБ памяти и 30 ГБ SSD. Фотографии и сборка витрины в эти цифры не входят.
Это два расчёта, даже если компоненты размещены на одной машине. У рабочего магазина есть каталог для просмотра и путь покупки, который должен быстро возвращать актуальные цены, остатки и заказ. Ресурсы выбирайте по их совместной нагрузке.
Стартовая схема и ресурсы каждого компонента #
| Сценарий | Saleor | Что считается отдельно |
|---|---|---|
| Проверить каталог и оформление заказа | 4 vCPU / 8 ГБ / 80 ГБ SSD как оценка единого узла | Витрина Next.js, фото, сборка и внешние приложения |
| Ежедневная работа небольшого магазина | 4 vCPU / 8 ГБ / 80 ГБ SSD как оценка всего backend-узла | API, фоновые обработчики, PostgreSQL и Redis; витрина и медиа отдельно; проверить импорт вместе с заказами |
| Рекламный пик и частые изменения остатков | Расчёт по пику запросов, заказов и очереди | Резервирование критичных компонентов и испытание полного пути заказа |
Что узнать до заказа серверов #
Разделите просмотр каталога и покупку
- Пиковые открытия каталога, поиск и число одновременных оформлений заказа.
- Количество товаров и вариантов, сложность фильтров, цены и остатки по каналам продаж.
- Частота импорта, объём фотографий и фоновых задач, внешние приложения оплаты и доставки.
- Допустимый простой продаж, частота копий и время восстановления базы заказов.
Какие части магазина нагружают сервер #
Saleor обслуживает API магазина. PostgreSQL хранит товары, покупателей и заказы. Фоновые обработчики выполняют отложенную работу, Redis участвует в кешировании и очередях. Dashboard нужен сотрудникам для управления, а витрина Next.js показывает магазин покупателю. Приложения оплаты и доставки могут иметь свои серверы.
vCPU — вычислительная мощность для запросов и фоновых задач. RAM — оперативная память процессов и баз. SSD — быстрый диск для постоянных данных и журналов. Для базы важна скорость записи, а не только объём. На общем CPU устойчивость пика зависит от условий тарифа; уточняйте гарантии.
Публичную карточку можно кешировать, но корзина и оформление заказа зависят от актуальных данных. Один посетитель может делать несколько запросов. Поэтому месячная посещаемость плохо показывает пик: измеряйте самые сложные фильтры и число одновременно покупающих.
Импорт товаров и остатков тоже нагружает базу. Отдельный фоновой обработчик помогает управлять этой работой, но не отменяет её конкуренцию с покупками. Проводите крупные импорты в спокойные часы либо проверяйте, что они укладываются в доступные ресурсы.
Пример расчёта фото и рекламного пика #
Допустим, у 5 000 товаров по три фотографии, а оригинал и его варианты вместе занимают 1 МБ. Получается около 15 ГБ медиа. Новые фото, замена старых версий и архивы увеличат объём; возьмите выборку настоящих изображений и измерьте её, прежде чем покупать диск.
К этому добавляются PostgreSQL, индексы, журналы и временные файлы. Если база весит 20 ГБ, система с приложениями — 20 ГБ, фото — 15 ГБ, на диске 80 ГБ остаётся 25 ГБ. При заметном росте это небольшой запас: увеличьте диск или вынесите медиа в постоянное объектное хранилище.
Для рекламы важен другой расчёт. Если обычный поток — пять запросов к API в секунду, а акция даст двадцать, воспроизведите эти запросы вместе с оформлением заказов. Эти числа являются примером нагрузки, а не вместимостью профиля. Оцените время ответа, записи в базу и очередь фоновых заданий.
Сеть, платежи и расположение данных #
Разместите Saleor, PostgreSQL и Redis близко друг к другу в закрытой сети; витрине и внешним приложениям нужен устойчивый HTTPS-доступ к API. База не должна быть доступна напрямую из интернета. Проверьте доступность платёжного сервиса и возможность получать его обратные события.
Фото и неизменяемые ресурсы удобно отдавать через CDN. Их исходящий трафик считается отдельно: 20 000 просмотров по 2 МБ изображений дают примерно 40 ГБ передачи. Сборку Next.js вынесите из рабочего сервера, чтобы выпуск новой версии не мешал покупателям.
Провайдеры и полный бюджет магазина #
В статье есть партнёрские ссылки FirstVDS и Selectel. Удельта может получить вознаграждение, если вы закажете услуги по этим ссылкам.
Полная стоимость включает API и обработчики, PostgreSQL, Redis, витрину, медиа, CDN, независимые копии, IP и сопровождение. Отдельно оплачиваются внешние приложения, сервисы рассылок и платежей. Проверьте цену выбранного состава и следующего увеличения ресурсов перед оплатой.
Для продаж с небольшим допустимым простоем нужен план на отказ сервера. Резервные экземпляры и восстановление базы добавляют расходы; несколько серверов без проверенной работы при сбое не создают надёжность автоматически.
Копии заказов и проверка восстановления #
В первую очередь сохраняйте базу заказов, товары и настройки, затем медиа, конфигурацию и секреты. Определите допустимую потерю заказов: ежедневной копии может быть недостаточно. Частоту и способ резервирования PostgreSQL выбирайте под это требование и проверяйте восстановление.
Храните копии вне рабочего узла. При восстановлении отключите реальные платежи и массовые письма. Сверьте состояние заказов с внешним платёжным сервисом, чтобы повторная обработка событий не создала неправильные статусы или двойные действия.
Как проверить магазин до продаж #
Проверьте полный путь покупателя
- Откройте каталог с реальными фильтрами, выполните поиск и оформление тестового заказа.
- Повторите ожидаемый рекламный пик одновременно с импортом остатков; замерьте ответы API и ожидание заданий.
- Проверьте ошибки и повторы тестовой оплаты и доставки, включая повторный запрос от внешнего сервиса.
- Восстановите базу и фото в отдельном окружении; отключите реальные списания и рассылки, затем оформите тестовый заказ.
Добавляйте CPU при занятом процессоре API, память — при её нехватке у процессов. Если ожидание возникает в базе, проверьте запросы, индексы и SSD. Очередь, которая не разгружается после пика, требует проверки обработчиков и внешних сервисов. Разделять узлы стоит по найденному ограничению и требованиям к простою.
Частые вопросы #
Можно ли разместить всё на одном VPS?
Для пилота это возможно, если ресурсов хватает всему составу. Выделите память витрине сверх ресурсов Saleor и баз. Для продаж учитывайте общий отказ: остановка одного VPS остановит все размещённые на нём компоненты.
Хватит ли сервера на 10 000 товаров?
Число товаров не определяет скорость само по себе. Влияют варианты, фильтры, каналы, запросы витрины и одновременные покупатели. Загрузите настоящий каталог и проверьте его сложные страницы перед выбором тарифа.
CDN позволит оставить маленький сервер?
Он может снизить нагрузку от фото и кешируемых публичных страниц. Оформление заказа, цены для конкретного покупателя и платежи всё равно обращаются к рабочим сервисам. Их пик нужно проверять отдельно.
Источники и границы рекомендаций #
6 октября 2026 года просмотрены официальные разделы Saleor об установке Docker и архитектуре, а также Self-Hosting Next.js 16.3.8. Документация Saleor не закреплена за точным выпуском. Пример Docker Compose описывает разработку; числовые профили рабочего размещения в статье — оценки Удельты.