3

У меня сеть из 100 машин, все с Ubuntu Linux.

Существует ли ограничение на количество компьютеров, которые могут подключаться к одному компьютеру (одновременно)?

Например, могу ли я, чтобы 99 из моих машин поддерживали непрерывное ssh-соединение с сотой машиной? Могу ли я, чтобы каждая из моих машин (каждая из 100) поддерживала непрерывное ssh-соединение со всеми остальными 99 машинами?

Сколько памяти занимает каждое такое соединение?

2 ответа2

7

Общее количество подключений ограничено в основном количеством портов, на которые они могут входить, и возможностями системы. Существуют параметры конфигурации (Max_Sessions и Max_Startup), но они применяются только к числу соединений с одного IP-адреса и числу одновременных запрошенных загрузочных подключений ...В основном это защита от DDOS.

Нет простого способа определить, сколько памяти будет использовать соединение: оно полностью зависит от объема трафика. Одно чрезвычайно интенсивно используемое соединение может использовать больше ресурсов, чем 10 000 соединений, которые ничего не делают.

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

3

Я думаю, что вы можете. У меня обычно есть 3 или около того на моем домашнем ящике, и в моем офисе мы можем иметь до 10. Это зависит только от того, с чем может справиться ваш компьютер.

В sshd_config есть настройки, которые вам, возможно, придется изменить. Вот ссылка на справочную страницу. Он находится в /etc/ssh/sshd_config . По умолчанию 10. Вам нужно будет увеличить это.

Я нашел этот ресурс, который говорил о том, как увеличить максимум. Вот небольшое объяснение:

  • /proc/sys/net/core/somaxconn - максимальное количество TCP-соединений (SSH соединяется через TCP)
  • /proc/sys/net/core/netdev_max_backlog - не такая уж большая проблема , это максимальная очередь пакетов

Вы можете просто отредактировать эти цифры, если вам нужно увеличить их. У меня по умолчанию somaxconn 128, так что вам должно быть хорошо.

РЕДАКТИРОВАТЬ:

Другие опции

Используйте веб-сокеты с NodeJS.

Это должно начать вас. Если вы не хотите изучать, как использовать веб-сокеты, просто отправляйте запросы HTTP Post на веб-сервер. У них не слишком много накладных расходов, и таким образом вы можете отправить много данных. Я лично выбрал бы веб-сокеты, потому что они в режиме реального времени и не слишком сложны в настройке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .