dicechess-analytics на aurora — деплой и sizing

История переезда dicechess-analytics с MacBook на aurora и расчёты, приведшие к апгрейду железа.

Деплой (2026-06-10)

Перенос ~140k партий с локального Postgres на MacBook на aurora (192.168.10.3): rsync кода (без .git/.venv/старого SQLite), pg_dump → перенос → pg_restore в свежий контейнер БД → поднят API. Порт 8000 был занят Portainer, поэтому API выставлен на 8020. Итог: 141 459 партий, БД доступна на 5432, API на 8020.

Sizing: сколько весит база

Замер на реальных 141 459 партиях (2026-06-10): 2 502 МБ (~2.5 ГБ) со всеми индексами.

ТаблицаРазмерКомментарий
positions1889 МБсамая тяжёлая — уникальные позиции
turns461 МБходы
games123 МБметаданные партий
game_events + players< 20 МБ

~17.7 КБ/партия в среднем. Проекции (линейная экстраполяция, будет чуть оптимистичнее из-за дедупликации позиций в дебютах):

  • 1 000 000 партий ≈ 17.7 ГБ
  • 10 000 000 партий ≈ 175 ГБ «чистых» данных → закладывать 250–300 ГБ с учётом WAL, temp-файлов сортировки и будущих materialized views

Переезд SQLite→PostgreSQL заодно сэкономил место: тот же датасет в SQLite (dicechess.db на Маке) весил 3.3 ГБ против 2.5 ГБ в Postgres — сказались строгая типизация и компактные b-tree индексы Postgres (в SQLite это ещё и не паковалось VACUUM’ом).

Технический нюанс, найденный по пути: Ubuntu-инсталлятор при LVM по умолчанию отдаёт под корневой раздел только 50% диска — на 128 ГБ SSD aurora реально использовалось только 58.1 ГБ логического тома, остальное простаивало неразмеченным. Расширяется на лету (lvextend + resize2fs), без даунтайма.

Снятие нагрузки: перенос лёгких сервисов на RPi4

До апгрейда aurora (8 ГБ RAM) была перегружена: своп 2.6 ГБ, диск занят на 85%, а RPi4 рядом простаивал (CPU 0.00, свободно ~2.8 ГБ RAM). БД и Immich на RPi4 не перенести (microSD — не для БД), но лёгкие сетевые сервисы — можно. Кандидаты на перенос: uptime-kuma, adguard-secondary, vaultwarden, webdav. Решение подтвердилось на практике: Uptime Kuma и AdGuard secondary сейчас и правда живут на RPi4 (см. homelab репо, hardware/raspberry-pi-4/).

Апгрейд vs новый мини-ПК — вердикт

Load average на aurora был всего 0.15 — узкое место не CPU (Intel i5-8250U, 8 потоков, ещё и с QuickSync для Immich), а RAM и диск. Апгрейд (RAM+SSD, ~100-150), плюс у ноутбука есть встроенный аккумулятор как бесплатный UPS для Postgres при отключении света — довод, которого нет у мини-ПК. План действий (переезд на Toshiba на время апгрейда → апгрейд → чистая Ubuntu → возврат сервисов) выполнен, см. Апгрейд aurora — план и чек-лист и homelab репо для матчасти.