Skip to content

Требования к ресурсам VPS для Partizap

Дата: 2026-03-06 Контекст: маркетплейс автозапчастей, регион СПб, стек PHP 8.3 + Slim 4 + Doctrine + PostgreSQL 16 + Redis 7 + Centrifugo + Nuxt 4 SSR


1. Инвентаризация сервисов и потребление памяти

1.1 Текущий снимок (один VPS 6 vCPU / 12 GB RAM / 120 GB SSD)

ГруппаСервисRAM (факт)Примечание
DevOpsGitLab Puma (2 воркера)2 100 MBБыло 6 воркеров (~6 ГБ), урезано
GitLab Sidekiq1 070 MBconcurrency=10
GitLab Gitaly180 MB
GitLab PostgreSQL1 210 MBОтдельный инстанс PG для GitLab
GitLab Redis19 MB
YouTrack (Docker, Java)1 550 MBJVM heap урезан до 512m
Docker daemon790 MBТолько для YouTrack
Итого DevOps~6 920 MB
Dev-серверPHP-FPM pool partizap-dev (2–5 workers)~70 MBmax_children=5
Nuxt dev (PM2 + Node)~70 MB
Centrifugo dev~25 MB
Итого Dev~165 MB
Prod-серверPHP-FPM pool partizap-prod (5–20 workers)~160 MBmax_children=20, сейчас 5 активных
Nuxt prod (PM2 + Node)~70 MB
Centrifugo prod~28 MB
Итого Prod~258 MB
ОбщиеPostgreSQL 16 (partizap_dev + partizap_prod)~200 MBshared_buffers=128 MB
Redis 7 (4 БД)~22 MB
PgBouncer~5 MBТолько prod
Nginx~113 MBВсе vhosts
ОС + systemd + sshd~500 MB
Итого общие~840 MB
Claude Code (dev-инструмент)~700 MBЭпизодически
ИТОГО~8 883 MBИз 12 288 MB

Вывод: DevOps-инструменты занимают 78% всей используемой памяти. Маркетплейс (dev + prod + общие) — всего ~1 260 MB.


2. Прогноз потребления при росте трафика

2.1 Prod-сервер (маркетплейс)

Основные потребители, растущие с трафиком: PHP-FPM workers (~30–35 MB каждый), PostgreSQL (shared_buffers + connections), Centrifugo (WebSocket-соединения).

DAURPS (пик)PHP-FPM workersPHP-FPM RAMPG shared_buffersPG totalRedisCentrifugoNuxt SSRNginxИтого Prod
до 50010–205175 MB128 MB300 MB50 MB30 MB70 MB50 MB675 MB
500–2 00020–5010350 MB256 MB500 MB100 MB50 MB140 MB80 MB1 220 MB
2 000–5 00050–10015525 MB512 MB800 MB150 MB80 MB140 MB100 MB1 795 MB
5 000–15 000100–30025875 MB1 024 MB1 500 MB200 MB150 MB280 MB120 MB3 125 MB
15 000–50 000300–800401 400 MB2 048 MB3 000 MB300 MB300 MB560 MB150 MB5 710 MB

2.2 Dev-сервер

Не зависит от пользовательского трафика. Зависит от интенсивности разработки.

СценарийPHP-FPMNuxtCentrifugoPGИтого Dev
Неактивная разработка70 MB70 MB25 MB(общий)165 MB
Активная разработка (1–2 чел.)175 MB140 MB25 MB(общий)340 MB
Интенсивная (CI/CD, тесты)350 MB140 MB25 MB(общий)515 MB

2.3 DevOps-инструменты

СценарийGitLabYouTrackDockerИтого DevOps
Минимальный (2 puma, concurrency=5)3 500 MB1 000 MB400 MB4 900 MB
Текущий (2 puma, concurrency=10)4 600 MB1 550 MB790 MB6 940 MB
Комфортный (4 puma, concurrency=20)7 000 MB2 000 MB800 MB9 800 MB

3. Вариант A: Один VPS на всё

Формула: DevOps + Dev + Prod + Общие + ОС + запас 20%

DAUDevOps (мин.)Dev (актив.)ProdОбщие + ОСИтого (×1.2)Рекомендация RAMvCPUSSD
до 5004 9003406758408 1068 GB (впритык)480 GB
до 2 0004 9003401 2208408 76012 GB480 GB
до 5 0004 9003401 7951 0409 69012 GB6120 GB
до 15 0004 9003403 1251 24011 52616 GB6–8120 GB
до 50 0004 9005155 7101 44015 07816–24 GB8200 GB

Текущий VPS (12 GB) покрывает сценарий до ~2 000 DAU, но без запаса. Swap в 6 ГБ компенсирует, но деградирует производительность.

При текущей конфигурации (12 GB) и активной разработке VPS работает на пределе. GitLab + YouTrack занимают ~7 ГБ, оставляя маркетплейсу ~4 ГБ (с ОС). Для комфортной работы нужно 16 GB уже сейчас.


4. Вариант B: Два VPS (рекомендуемый)

VPS 1 — Маркетплейс (prod + dev)

Без GitLab и YouTrack система потребляет ~1 260 MB при текущей нагрузке.

DAUDevProdPG + RedisNginx + ОСИтого (×1.2)RAMvCPUSSDСтоимость*
до 2 0003401 2207006003 4324 GB240 GB500–800 ₽
до 5 0003401 7951 1006504 6626 GB460 GB800–1 200 ₽
до 15 0003403 1251 7007007 0388 GB4–680 GB1 200–1 800 ₽
до 50 0005155 7103 50075012 57016 GB8120 GB2 500–4 000 ₽

VPS 2 — DevOps (GitLab + YouTrack)

РежимGitLabYouTrackDocker + ОСИтого (×1.2)RAMvCPUSSDСтоимость*
Минимальный (1–2 разработчика)3 5001 0009006 4808 GB240 GB700–1 000 ₽
Комфортный (команда 3–5 чел.)5 5001 5001 0009 60012 GB460 GB1 200–1 800 ₽
Полный (CI runners, registry)7 0002 0001 20012 24016 GB480 GB1 800–2 500 ₽

*Цены ориентировочные для Selectel/Timeweb/REG.RU на март 2026.

Альтернатива: облачные DevOps-сервисы (вместо VPS 2)

СервисБесплатный тарифЭкономия RAM
GitLab.com (SaaS)До 5 пользователей, 5 ГБ хранилище, 400 CI-минут/мес~4 600 MB
YouTrack Cloud (JetBrains)До 10 пользователей~1 550 MB
Итого~6 150 MB

При переходе на облачные DevOps VPS 2 не нужен совсем. Текущий VPS (12 GB) будет иметь ~10 ГБ свободной RAM для маркетплейса — хватит до 50 000+ DAU.


5. Рекомендуемые конфигурации

5.1 Сейчас (старт, до 2 000 DAU, 1–2 разработчика)

Вариант «Один VPS» (минимум):

ПараметрЗначение
vCPU4
RAM16 GB
SSD120 GB
ОСDebian 12
Swap6 GB

Вариант «Два VPS» (рекомендуемый):

VPS 1 (маркетплейс)VPS 2 (DevOps)
vCPU22
RAM4 GB8 GB
SSD40 GB40 GB
Итого~500–800 ₽/мес~700–1 000 ₽/мес

5.2 Рост (2 000–10 000 DAU, команда 3–5 чел.)

VPS 1 (маркетплейс)VPS 2 (DevOps)
vCPU44
RAM8 GB12 GB
SSD80 GB60 GB

5.3 Масштаб (10 000–50 000 DAU)

VPS 1 (маркетплейс)VPS 2 (DevOps)
vCPU6–84
RAM16 GB12 GB
SSD120 GB60 GB

На этом этапе рассмотреть вынос PostgreSQL в managed DB (Selectel, Yandex Cloud) и добавление read-replica.


6. Рекомендации по оптимизации текущего VPS

Если пока остаёмся на одном VPS (12 GB), для выживания:

ДействиеЭкономия RAMРиск
Перенести GitLab на GitLab.com~4 600 MBМиграция репозиториев и CI
Перенести YouTrack в облако~1 550 MBМиграция задач
Убрать Docker daemon (YouTrack)~790 MBТолько если YouTrack уехал
Увеличить RAM до 16 GB+4 096 MBСтоимость
Уменьшить PG shared_buffers до 64 MB~64 MBНезначительная деградация

Приоритетная рекомендация: перенести GitLab + YouTrack в облако (бесплатно) — освободится ~6 ГБ RAM, текущего VPS хватит на годы роста.


7. Узкие места по ресурсам при росте

РесурсКогда станет узкимРешение
RAM>5 000 DAU на 4 GB VPSУвеличить RAM или вынести PG
CPU>10 000 DAU (PHP-FPM + PG)Добавить vCPU или горизонтально масштабировать PHP
Диск>100К товаров, ~5–10 GB БДУвеличить SSD. Изображения на S3 — не проблема
Сеть>500 RPSCDN для статики, S3 для изображений (уже сделано)
PG connections>100 одновременныхPgBouncer уже настроен. Увеличить max_connections
WebSocket>10К одновременныхCentrifugo держит 100К+ на 1 ГБ RAM — не проблема