release: версия 0.0.31
This commit is contained in:
37
CHANGELOG.md
37
CHANGELOG.md
@@ -3,6 +3,43 @@
|
||||
Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.1.0/),
|
||||
проект придерживается [семантического версионирования](https://semver.org/lang/ru/).
|
||||
|
||||
## [0.0.31] — 2026-08-09
|
||||
|
||||
Разбор провала входа на нагрузочном тесте 07.08.2026: комната держала
|
||||
соединения с БД и Redis на каждого участника.
|
||||
|
||||
### Исправлено
|
||||
- **Вход в систему переставал работать, когда в конференции набиралось
|
||||
около сорока человек.** WS-подключение комнаты (чат и очередь рук)
|
||||
держало занятым одно соединение с БД всё время, пока участник сидел
|
||||
в конференции: SELECT'ы хендшейка открывали транзакцию, а закрыть её
|
||||
было некому. Пул — 20 соединений на воркер (40 на инстанс), поэтому
|
||||
сороковой вошедший выгребал его досуха, и все остальные запросы —
|
||||
резолв конференции, гостевой вход, логин, обновление токена — начинали
|
||||
отвечать 500. Теперь соединение возвращается в пул сразу после
|
||||
хендшейка; на локальном стенде 120 участников на одном воркере не
|
||||
занимают ни одного соединения в простое (было: 20 из 20 при 20
|
||||
участниках, дальше вход не работал вовсе).
|
||||
- **Пользователя выкидывало из системы, когда серверу было плохо.**
|
||||
Фоновое обновление access-токена считало неудачей любой отрицательный
|
||||
ответ и на каждую такую неудачу сбрасывало сессию с переходом на
|
||||
страницу входа. Ответ 5xx (и обрыв сети) теперь означает «сервер
|
||||
временно недоступен»: сессия сохраняется, пользователь остаётся
|
||||
в системе и получает обычную ошибку запроса. Разлогинивание осталось
|
||||
только там, где backend прямо сказал, что сессия недействительна.
|
||||
Восстановление сессии при старте приложения повторяет попытку трижды,
|
||||
прежде чем показать страницу входа.
|
||||
|
||||
### Технические детали
|
||||
- Размер пула соединений с Redis задан явно (`REDIS_MAX_CONNECTIONS`,
|
||||
по умолчанию 500): на нём висят долгоживущие pub/sub-подписки комнаты —
|
||||
по одной на участника, — а дефолт redis-py 8 (100) упирался в потолок
|
||||
примерно на сотом участнике на воркер. Второй потолок того же рода,
|
||||
что и пул БД; найден при проверке правки выше на 120 участниках.
|
||||
- Размеры пулов БД (`DB_POOL_SIZE`/`DB_MAX_OVERFLOW`) не менялись
|
||||
осознанно: соединение больше не удерживается впустую, поэтому
|
||||
расширение пула лечило бы симптом и лишь отодвинуло порог.
|
||||
|
||||
## [0.0.30] — 2026-08-04
|
||||
|
||||
Согласие на обработку персональных данных при регистрации + отключаемый модуль.
|
||||
|
||||
Reference in New Issue
Block a user