Skip to content

Remnawave Admin v2.6.2

Choose a tag to compare

@Case211 Case211 released this 03 Mar 18:05
· 1238 commits to main since this release

Remnawave Admin v2.6.2

Критическое исправление производительности

При ~4000 онлайн-пользователях CPU был загружен на 97% (все 4 ядра), PostgreSQL выдавал deadlocks. После обновления нагрузка снизилась до 8%.

Устранение deadlocks в коллекторе подключений

  • Заменена последовательная обработка подключений (per-connection loop) на batch upsert через UNNEST + ON CONFLICT
  • Количество DB-запросов на batch снижено с ~1500-3200 до ~5
  • Устранены asyncpg.exceptions.DeadlockDetectedError при конкурентных batch-запросах от нескольких нод

Оптимизация резолва пользователей

  • Добавлен batch-резолв email → UUID и short_uuid → UUID (2 запроса вместо N)
  • Удалён N+1 post-processing для auto-close подключений (перенесён внутрь batch upsert)

Новые индексы для user_connections

  • Partial UNIQUE index на (user_uuid, ip_address) WHERE disconnected_at IS NULL
  • Composite index на (user_uuid, disconnected_at, connected_at DESC)

Прочие исправления

  • Включён --ws-secret в команду установки агента
  • Поддержка camelCase полей isConnected/isDisabled при фильтрации нод

Результат

Метрика До После
DB-запросов на batch (500 conn) ~1500-3200 ~5
Deadlocks Постоянно Устранены
CPU при 4000 юзерах 97% 8%

Обновление

docker compose pull && docker compose up -d
docker exec -it <container_name> alembic upgrade head

⚠️ Миграция обязательна — создаются новые индексы и очищаются дубликаты в user_connections.