release: версия 0.0.17
This commit is contained in:
@@ -112,7 +112,7 @@ SMTP_TIMEOUT_S=30
|
|||||||
# --- Версия инстанса (релиз v0.0.1) ---
|
# --- Версия инстанса (релиз v0.0.1) ---
|
||||||
# install.sh копирует значение из корневого файла VERSION при каждой
|
# install.sh копирует значение из корневого файла VERSION при каждой
|
||||||
# установке/обновлении — руками менять не нужно.
|
# установке/обновлении — руками менять не нужно.
|
||||||
VIDCONF_VERSION=0.0.16
|
VIDCONF_VERSION=0.0.17
|
||||||
|
|
||||||
# --- Профили compose. Дефолт ниже (`media,monitoring`) — только для ручного
|
# --- Профили compose. Дефолт ниже (`media,monitoring`) — только для ручного
|
||||||
# `docker compose up` БЕЗ install.sh: медиа (LiveKit+coturn) + мониторинг,
|
# `docker compose up` БЕЗ install.sh: медиа (LiveKit+coturn) + мониторинг,
|
||||||
|
|||||||
21
CHANGELOG.md
21
CHANGELOG.md
@@ -3,6 +3,27 @@
|
|||||||
Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.1.0/),
|
Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.1.0/),
|
||||||
проект придерживается [семантического версионирования](https://semver.org/lang/ru/).
|
проект придерживается [семантического версионирования](https://semver.org/lang/ru/).
|
||||||
|
|
||||||
|
## [0.0.17] — 2026-08-01
|
||||||
|
|
||||||
|
Массовый вход в систему и в конференцию перестаёт упираться в проверку пароля.
|
||||||
|
|
||||||
|
### Исправлено
|
||||||
|
- Проверка пароля больше не останавливает весь backend. Хэширование argon2 —
|
||||||
|
это десятки миллисекунд счёта, и выполнялось оно синхронно внутри
|
||||||
|
асинхронного обработчика: пока считался один пароль, процесс не обслуживал
|
||||||
|
ничего другого. На нагрузочном тесте 31.07 с примерно семью десятками
|
||||||
|
одновременных входов это дало p95 логина 7.28 секунды, p95 входа в
|
||||||
|
конференцию 7.06 секунды и 33 соединения к базе, висящих в открытой
|
||||||
|
транзакции при одном активном запросе. Страдали и посторонние запросы —
|
||||||
|
вход в конференцию отказывал, хотя пароль там не проверялся вовсе.
|
||||||
|
Теперь хэширование считается в пуле потоков.
|
||||||
|
- Параметры argon2id приведены к рекомендации OWASP (t=2, m=19 МБ, p=1)
|
||||||
|
вместо дефолтов библиотеки (t=3, m=64 МБ, p=4): 95 мс против 42 мс на
|
||||||
|
проверку. Прежнее значение `parallelism=4` вдобавок занимало все четыре
|
||||||
|
ядра сервера — те же, на которых работает медиа-сервер.
|
||||||
|
- Пароли, сохранённые со старыми параметрами, продолжают работать и
|
||||||
|
перевыпускаются автоматически при первом успешном входе.
|
||||||
|
|
||||||
## [0.0.16] — 2026-08-01
|
## [0.0.16] — 2026-08-01
|
||||||
|
|
||||||
Роль организатора в комнате: поднятие руки с очередью и принудительный мьют.
|
Роль организатора в комнате: поднятие руки с очередью и принудительный мьют.
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ services:
|
|||||||
MEDIA_ROOT: ${MEDIA_ROOT:-/app/media}
|
MEDIA_ROOT: ${MEDIA_ROOT:-/app/media}
|
||||||
# Версия инстанса (релиз v0.0.1) — install.sh копирует значение
|
# Версия инстанса (релиз v0.0.1) — install.sh копирует значение
|
||||||
# из файла VERSION (корень репозитория) в .env; отдаётся в GET /api/health.
|
# из файла VERSION (корень репозитория) в .env; отдаётся в GET /api/health.
|
||||||
VIDCONF_VERSION: ${VIDCONF_VERSION:-0.0.16}
|
VIDCONF_VERSION: ${VIDCONF_VERSION:-0.0.17}
|
||||||
# Число процессов uvicorn (см. backend/Dockerfile). Дефолт 2 рассчитан
|
# Число процессов uvicorn (см. backend/Dockerfile). Дефолт 2 рассчитан
|
||||||
# на 4-ядерный сервер, где ядра делятся с LiveKit. Поднимая значение,
|
# на 4-ядерный сервер, где ядра делятся с LiveKit. Поднимая значение,
|
||||||
# проверьте бюджет соединений с БД: каждый воркер держит свой пул
|
# проверьте бюджет соединений с БД: каждый воркер держит свой пул
|
||||||
|
|||||||
Reference in New Issue
Block a user