В Linux существует ограничение на количество дескрипторов открытых файлов, которые может открыть каждая программа. Это можно увидеть с помощью ulimit -n
. В /proc/sys/kernel/file-max
.
существует общесистемный лимит.
Другим ограничением является количество соединений, которые может отслеживать брандмауэр Linux. Если вы используете брандмауэр отслеживания подключений iptables, это значение равно /proc/sys/net/netfilter/nf_conntrack_max
.
Другим ограничением является, конечно, сам TCP / IP. Вы можете иметь только 65534 подключения к одному и тому же удаленному хосту и порту, поскольку каждому соединению требуется уникальная комбинация (localIP, localPort, remoteIP, remotePort).
Что касается ускорения работы через параллельные соединения: это не так просто, как просто использование большего количества соединений.
Это зависит от того, где находятся узкие места. Если ваше локальное соединение используется полностью, добавление большего количества соединений только замедлит работу. Если вы подключаетесь к тому же удаленному серверу, и его подключение полностью используется, больше будет только замедлять его.
Вы можете получить выгоду, когда ваше локальное соединение используется не полностью и вы подключаетесь к нескольким удаленным хостам.
Если вы посмотрите на веб-браузеры, вы увидите, что у них есть ограничения на количество подключений к одному удаленному серверу. У них также есть ограничения на общее количество подключений.