У меня есть мощный сервер, на котором я слушаю 24K уникальных TCP-сокетов для одного процесса.Я увеличил FD в системе и все необходимые параметры (somaxconn, backlog и т. Д.), Чтобы увеличить число соединений TCP, которые могут быть приняты.Однако, похоже, оно не выходит за пределы определенного значения (94K).Но если я уменьшу количество уникальных сокетов TCP, скажем, до 5-10, я смогу легко достичь около 250 тыс. Соединений.
Кстати, я вижу, что ядро приняло соединение, как из tcpdump. Я вижу трехстороннее рукопожатие.быть завершенным.Только приложение не может его принять.У меня есть выделенная нить на серверном приложении, чтобы постоянно опрашивать входящие соединения на всех 24K-сокетах (поэтому ЦП не проблема)
Приложение принимает его, но после большой задержки (около 90 секунд или около того)
Итак, вопрос в том.Существует ли ограничение количества соединений, которое может быть принято приложением, когда имеется так много сокетов прослушивания?