Удельта

Какой сервер выбрать для магазина на Saleor и Next.js

Для небольшого магазина начните проверку Saleor с 4 vCPU, 8 ГБ памяти и 80 ГБ SSD вместе с PostgreSQL и Redis. Витрина Next.js требует отдельного расчёта: ориентир 2 vCPU и 4 ГБ без сборки и хранения фото.

Глиняные формы товаров и путь через каталог — обложка руководства по Saleor + Next.js

Для проверки небольшого магазина выберите 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 выбирайте под это требование и проверяйте восстановление.

Храните копии вне рабочего узла. При восстановлении отключите реальные платежи и массовые письма. Сверьте состояние заказов с внешним платёжным сервисом, чтобы повторная обработка событий не создала неправильные статусы или двойные действия.

Как проверить магазин до продаж #

Проверьте полный путь покупателя

  1. Откройте каталог с реальными фильтрами, выполните поиск и оформление тестового заказа.
  2. Повторите ожидаемый рекламный пик одновременно с импортом остатков; замерьте ответы API и ожидание заданий.
  3. Проверьте ошибки и повторы тестовой оплаты и доставки, включая повторный запрос от внешнего сервиса.
  4. Восстановите базу и фото в отдельном окружении; отключите реальные списания и рассылки, затем оформите тестовый заказ.

Добавляйте CPU при занятом процессоре API, память — при её нехватке у процессов. Если ожидание возникает в базе, проверьте запросы, индексы и SSD. Очередь, которая не разгружается после пика, требует проверки обработчиков и внешних сервисов. Разделять узлы стоит по найденному ограничению и требованиям к простою.

Частые вопросы #

Можно ли разместить всё на одном VPS?

Для пилота это возможно, если ресурсов хватает всему составу. Выделите память витрине сверх ресурсов Saleor и баз. Для продаж учитывайте общий отказ: остановка одного VPS остановит все размещённые на нём компоненты.

Хватит ли сервера на 10 000 товаров?

Число товаров не определяет скорость само по себе. Влияют варианты, фильтры, каналы, запросы витрины и одновременные покупатели. Загрузите настоящий каталог и проверьте его сложные страницы перед выбором тарифа.

CDN позволит оставить маленький сервер?

Он может снизить нагрузку от фото и кешируемых публичных страниц. Оформление заказа, цены для конкретного покупателя и платежи всё равно обращаются к рабочим сервисам. Их пик нужно проверять отдельно.

Источники и границы рекомендаций #

6 октября 2026 года просмотрены официальные разделы Saleor об установке Docker и архитектуре, а также Self-Hosting Next.js 16.3.8. Документация Saleor не закреплена за точным выпуском. Пример Docker Compose описывает разработку; числовые профили рабочего размещения в статье — оценки Удельты.

Обсудить подбор и запуск

Материал был полезен?

Сообщить об ошибке или задать вопрос редакции

Сообщение увидит редакция. Не указывайте пароли и личные данные. Текст удаляется через 180 дней.

О материале

ИнфраструктураРуководствоЗадача: выбратьУровень: практикаSaleor + Next.js

Последнее обновление:

Обсуждение

Комментарии проходят подтверждение адреса и проверку редакцией.