Я знаю, что есть много вопросов и ответов по поводу TIME_WAIT
состояние сокетного соединения, но почему-то ни один из них (или, может быть, с точки зрения экспертов все они), помогает мне понять мою проблему (или найти возможные решения).
Мой сценарий заключается в том, что у меня есть сервер, выходящий в Интернет, который должен обрабатывать тысячи подключений в секунду (он предоставляет некоторый тип API). Я заметил, что подключения к серверу в целом возможны, но time_connect
и time_total
(с помощью curl
) приходят из 0.009
к 0.526
для бывшего и 0.134
к 0.926
для последнего. Я также наблюдаю огромное количество связей в TIME_WAIT
состояние - около 32,000+
.
Итак, мой первый вопрос: сколько одновременных подключений (с настроенным по умолчанию дистрибутивом Debian) может обработать сервер в течение секунды, минуты или часа. Есть ли какая-нибудь "простая" формула для вычисления логического предела возможных одновременных подключений?.
Кроме того, в будущем я не могу просто обрабатывать входящее соединение непосредственно на самом сервере, вместо этого мне, возможно, придется перенаправить его на прокси, получить результат и вернуть его. Я даже подумываю использовать механизм балансировки нагрузки nginx (при необходимости). Таким образом, второй вопрос заключается в наличии такого прокси / балансировки нагрузки / пересылки, как следует изменить формулу?
Мой последний вопрос: какие существуют альтернативы для увеличения количества одновременных подключений, например,
TIME_WAIT
(помогло бы это и как), Большое спасибо за любую помощь или любую ссылку!