Увеличение максимального числа соединений TCP/IP в Linux?

Я программирую сервер, и кажется, что мое количество соединений ограничивается, так как моя пропускная способность не насыщается, даже когда я определил номер соединений с "неограниченным".

Как я могу увеличить или устранить максимальное количество соединений, которые мое поле Ubuntu Linux может открыть за один раз? ОС ограничивает это, или действительно ли это - маршрутизатор или ISP? Или это - что-то еще?

199
задан jww 17 November 2019 в 16:52
поделиться

1 ответ

Существует несколько переменных для определения макс. номера соединений. Скорее всего, у Вас заканчиваются номера документов сначала. Проверьте ulimit-n. После этого в/proc существуют настройки, но те принимают значение по умолчанию к десяткам тысяч.

, Что еще более важно, это кажется на выполнение чего-то не так. Единственное соединение TCP должно быть в состоянии использовать всю пропускную способность между двумя сторонами; если это не:

  • Проверка, если Ваша установка окна TCP является достаточно большой. Значения по умолчанию Linux хороши для всего кроме действительно быстрой ссылки inet (сотни Мбит/с) или быстрые спутниковые линии. Каков Ваш bandwidth*delay продукт?
  • Проверка на потерю пакетов с помощью ping с большими пакетами (ping -s 1472...)
  • Проверка на ограничение уровня. На Linux это настроено с tc
  • , Подтверждают, что пропускная способность, Вы думаете, существует, на самом деле существует с помощью, например, iperf
  • Подтверждают, что протокол нормален. Помните задержку.
  • , Если это - гигабит + LAN, можно ли использовать пакеты крупного размера? Вы?

Возможно я неправильно понял. Возможно, Вы делаете что-то как Bittorrent, где Вам нужно много соединений. Если так, необходимо выяснить, сколько соединений Вы на самом деле используете (попытка netstat или lsof). Если то число является существенным, Вы могли бы:

  • Имеют много пропускной способности, например, 100 Мбит/с +. В этом случае Вы, возможно, на самом деле должны ulimit -n. Однако, ~1000 соединений (значение по умолчанию в моей системе) являются довольно многими.
  • Имеют сетевые проблемы, которые замедляют Ваши соединения (например, потеря пакетов)
  • Имеют что-то еще замедляющее Вас, например, пропускная способность IO, особенно если Вы ищете. Вы проверили iostat -x?

кроме того, при использовании маршрутизатора NAT на уровне конечного пользователя (Linksys, Netgear, D-Link, и т.д.), остерегайтесь этого, можно превысить ее способности с тысячами соединений.

я надеюсь, что это обеспечивает некоторую справку. Вы действительно задаете сетевой вопрос.

60
ответ дан derobert 23 November 2019 в 05:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: