Andrey Epifancev 63f464dfae perf: стенд для профилирования (postgres, api, prod-сборка фронта)
Refs #202

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 21:06:41 +04:00

1.3 KiB
Raw Blame History

Профилирование: perf/

Стенд

Требования: Docker, python3.12, Node 24, npm.

perf/stand.sh all       # up, migrate, bootstrap, web-build, api, web, smoke
perf/stand.sh down      # остановить бэк, фронт и Postgres

Подкоманды: up | migrate | bootstrap | api | web-build | web | smoke | down | all.

  • Postgres 16 (pg_stat_statements) на localhost:55432, perf/perf/perf.
  • Бэк (DEBUG=true) на http://localhost:8000, логи и PID в perf/.run/.
  • Фронт (prod-сборка, rsbuild preview) на http://localhost:8080; /api (включая WebSocket) проксируется на бэк.
  • Профилирующая сборка (PERF_PROFILING=1, react-dom/profiling) лежит в perf/.build/profiling, обычная в perf/.build/prod. Для запуска preview с профилирующей сборкой: PERF_PROFILING=1 perf/stand.sh web (после остановки обычного web).
  • Админ: admin / admin.
  • Переменные: PERF_API, PERF_WEB, PERF_DB_DSN.
  • Зависимости Python ставятся в perf/.venv (api/requirements-dev.txt + perf/requirements.txt).
  • npm берёт пакеты с https://registry.npmjs.org (npm_config_registry), web/.npmrc не нужен.