Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Работа с сетью > Jetty WebSocketServer и 10000+ соединений


Автор: ZVano 23.9.2016, 17:40
Пишется система, в которой есть звено WebSocketServer-а.
К нему будет постоянно присоединено множество клиентов (точно больше 2000, возможно увеличится до 10000+).
В данный момент для сервера используется решение на PHP от https://github.com/morozovsk т.к. оно проверено им на практике в высоконагруженных приложениях с солидным количеством клиентов.
Есть мысль заменить PHP на Java при помощи Jetty, но не знаю потянет ли.

В Linux существует физическое ограничение на количество допустимых серверных сокетов (1024) на процесс.
https://habrahabr.ru/company/ifree/blog/210228/
Код

Чтобы обрабатывать больше одновременных соединений, выполните команду: ulimit -n 65535, а 
если у пользователя недостаточно привилегий, то sudo sh -c "ulimit -n 65535 && exec su $LOGNAME". 
Текущее значение можно посмотреть используя команду ulimit -n

В PHP Владимир Гончаров обошел это ограничение создавая новые процессы и выполняя между ними коммуникацию.
А как с этой проблемой в Java? 
Если кто-то работал с системами на 2000+ клиентов, поделитесь опытом плс.
Были какие-то проблемы?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)