Здравствуйте, Anton Batenev, Вы писали:
AB>Держать тысячи активных TCP соединений особого практического смысла нет — должна выполняться какая-то работа. Например, современный TCP почти всегда идет в связке с TLS, а это нехило так кушает CPU (особенно TLS handshake). Если мы говорим про HTTP/RPC, то выполняется дополнительная работа по упаковке и роутингу трафика и т.д. Т.е. RAM / CPU практически всегда будут лимитирующим фактором в сравнении с потолком возможного числа соединений.
Почему практического смысла нет? Классический пример — чат сервер. Сидит в чате миллион клиентов. Реально из них пишет что-то в данный момент сто человек. Ну пинги там ещё сто человек в каждый конкретный момент отрабатывают. Но чат должен работать моментально, поэтому нужно держать соединение до каждого из клиентов.