27 lines
2.2 KiB
Markdown
27 lines
2.2 KiB
Markdown
# Proposal
|
||
|
||
## Why
|
||
|
||
Заказчик жалуется на производительность: медленный скролл форм и медленное открытие модальных окон по кнопке. Подробностей нет, только пересказ. Бэк раньше профилировался базово; фронт подозревается, в том числе в утечках памяти. Нужно найти и доказательно показать проблемные места до того, как что-либо исправлять (issue #202).
|
||
|
||
## What Changes
|
||
|
||
- Новый каталог `perf/`: воспроизводимый локальный стенд — Postgres в docker, бэк, prod-сборка фронта, генератор данных реалистичного объёма — и сценарии замеров на Playwright.
|
||
- Замеры «до»: скролл листов форм, открытие модалок, рост памяти при длительной работе, время ответов API и тяжёлые SQL под этими сценариями.
|
||
- Отчёт `perf/REPORT.md`: проблемные места с доказательствами, оценкой влияния и приоритетом.
|
||
- Код приложения (`api/src`, `api/alembic`, `web/src`, `web/rsbuild.config.ts`) не меняется. Исправлений в этом change нет.
|
||
|
||
## Capabilities
|
||
|
||
### New Capabilities
|
||
Нет. Change добавляет инструменты и отчёт, поведение системы не меняется (`skip_specs: true`).
|
||
|
||
### Modified Capabilities
|
||
Нет.
|
||
|
||
## Impact
|
||
|
||
- Новые файлы только в `perf/`, плюс при необходимости строки в `.gitignore` для сырых артефактов замеров.
|
||
- Dev-зависимости стенда (Playwright и др.) живут в `perf/` и не попадают в `web/package.json` и `api/requirements*.txt`.
|
||
- Для #199 (выгрузка на пром без следов обвязки): `perf/` к обвязке не относится. Включать ли его в выгрузку, решается там.
|