23 lines
1.3 KiB
Markdown
23 lines
1.3 KiB
Markdown
# Профилирование: 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` не нужен.
|