Назад | Перейти на главную страницу

Понимание максимального числа одновременных соединений клиент-сервер и состояния TIME_WAIT

Я знаю, что есть много вопросов и ответов по поводу TIME_WAIT состояние сокетного соединения, но почему-то ни один из них (или, может быть, с точки зрения экспертов все они), помогает мне понять мою проблему (или найти возможные решения).

Мой сценарий заключается в том, что у меня есть сервер, выходящий в Интернет, который должен обрабатывать тысячи подключений в секунду (он предоставляет некоторый тип API). Я заметил, что подключения к серверу в целом возможны, но time_connect и time_total (с помощью curl) приходят из 0.009 к 0.526 для бывшего и 0.134 к 0.926 для последнего. Я также наблюдаю огромное количество связей в TIME_WAIT состояние - около 32,000+.

Итак, мой первый вопрос: сколько одновременных подключений (с настроенным по умолчанию дистрибутивом Debian) может обработать сервер в течение секунды, минуты или часа. Есть ли какая-нибудь "простая" формула для вычисления логического предела возможных одновременных подключений?.

Кроме того, в будущем я не могу просто обрабатывать входящее соединение непосредственно на самом сервере, вместо этого мне, возможно, придется перенаправить его на прокси, получить результат и вернуть его. Я даже подумываю использовать механизм балансировки нагрузки nginx (при необходимости). Таким образом, второй вопрос заключается в наличии такого прокси / балансировки нагрузки / пересылки, как следует изменить формулу?

Мой последний вопрос: какие существуют альтернативы для увеличения количества одновременных подключений, например,

Большое спасибо за любую помощь или любую ссылку!