Мне нужно настроить сервер для обработки более миллиона открытых соединений websocket (в идеале 1.5-2.0).
Я использовал конфигурацию из этого поста:
sysctl -w fs.file-max=12000500
sysctl -w fs.nr_open=20000500
ulimit -n 20000500
sysctl -w net.ipv4.tcp_mem='10000000 10000000 10000000'
sysctl -w net.ipv4.tcp_rmem='1024 4096 16384'
sysctl -w net.ipv4.tcp_wmem='1024 4096 16384'
sysctl -w net.core.rmem_max=16384
sysctl -w net.core.wmem_max=16384
Однако мое приложение перестает применять новые подключения после того, как оно достигнет 469219 подключений. Что еще я могу пропустить? Я действительно думаю, что чего-то не хватает в конфигурации ОС. Наше основное приложение написано на Java(с сервером Tomcat), но я также получил те же результаты с сервером NodeJS.
Мы используем Ubuntu с 16 ГБ оперативной памяти.