Сколько сокетов соединений может быть на одном порту и на все системе?

И как получается удерживать миллионы соединений?
  • Вопрос задан
  • 956 просмотров
Пригласить эксперта
Ответы на вопрос 3
jcmvbkbc
@jcmvbkbc
http://dilbert.com/strip/1998-08-24
Сколько сокетов соединений может быть на одном порту

В TCP/IPv4 каждое соединение должно иметь уникальную комбинацию source IP + source port + destination IP + destination port, что даёт для одного порта на одном IP ограничение сверху в 232 + 16 соединений.
Сколько из этого можно практически (с приемлемой производительностью) держать на одной системе -- хз.
Ответ написан
Для входящего соединения создается новый сокет, поэтому лимит определяется в основном тем, сколько активных сокетов может быть в системе. Для каждого сокета требуется файловый дискриптор и некоторое количество системных буферов. Плюс, для обработки сетевых событий требуются процессорные мощности. При этом упереться можно в разные лимиты - самое первое, это ulimit'ы (по умолчанию в Linux пользовать может создать 1024 файловых дискриптора), они легко повышаются. В какой-то момент вы упретесь в лимиты ядра, и вам придется пересобирать ядро с кастомными параметрами. В конце концов, вы упретесь в физические лимиты машины (например в лимит на физическую память, которая требуется для системных буферов), если не упретесь раньше в лимиты по производительности. Поэтому "сколько" вопрос более риторический, смотря что вы хотите сделать. Если поставить рекорд - то можно собрать систему которая будет держать миллионы соединений. Реальная система на реальных запросах скорей всего раньше упрется в нехватку других ресурсов.
Ответ написан
Demanoidos
@Demanoidos
безнравственный извращенец с богатой фантазией
Миллионы соединений - это не про одну машину. Я так понимаю, вам интересно, как вайберы, вотсапы и телеграмы это делают.

Попытки соединений идут через диспатчер, и только потом уже обрабатываются каким-то конкретным компьютером из кластера. На одной железке этого никто не делает. И задача это достаточно сложная технически.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Miura Tech Таганрог
от 50 000 до 90 000 ₽
АКМЭ сервис Санкт-Петербург
от 150 000 до 185 000 ₽
Abistep Пенза
от 100 000 ₽
07 апр. 2020, в 23:31
50000 руб./за проект
07 апр. 2020, в 23:07
2000 руб./за проект