Несколько клиентов на плохом интернете раздувают память WebSocket-сервера
Сервер котировок отправляет каждому подключённому клиенту 50 обновлений в секунду. Память процесса растёт, пока под не убивают. Профилирование показывает: почти вся память — исходящие буферы нескольких сотен соединений, у которых socket.bufferedAmount исчисляется десятками мегабайт.
Что делать с такими клиентами?
- Следить за буфером: прореживать или отключать клиента
- Увеличить лимит памяти пода вдвое
- Отправлять медленным клиентам сообщения чаще
- Перезапускать сервер при росте памяти
