LINUX.ORG.RU
ФорумAdmin

количество исходящих TCP соединений


0

1

есть TCP сервер (отдельная машина) и TCP клиенты (две отдельных машины)

на всех трех машинах стоит Debian GNU/Linux,
выставлен ulimit -n 1048499

оба клиента устанавливают 28233 коннекта и затыкаются на connect() с ошибкой: Cannot assign requested address.

при этом сервер принимает все их соединения.


Подскажите пожалуйста что подтюнить чтобы клиенты могли создавать больше исходящих коннектов (и возможно и серверу этот лимит поднять так как боюсь он следующий на очереди)

★★★★

Ответ на: комментарий от najar

это оно!

# sysctl net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 32768 61000

ведь 61000-32768=28232

ok, ставим:

# sysctl net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 32768 65535

но как я понимаю больше 65535 верхнюю границу не задать:

# sysctl -w net.ipv4.ip_local_port_range='32768 65536'
error: «Invalid argument» setting key «net.ipv4.ip_local_port_range»

или все же задать?
сервер себя чувствует нормально с висящими открытыми 65538 соединениями.

quest ★★★★
() автор топика
Ответ на: комментарий от quest

>и со 105537 соединениями чувствует себя нормально

а вот при массовом закрытии соединений ему резко поплохело, не пингуется и что с ним пока не ясно

quest ★★★★
() автор топика
Ответ на: комментарий от quest

норкоман штоле?

почитай о протоколе tcp.

сервер хоть миллион соединений примет на ОДИН заданный порт

а у клиента, если каждое соединение происходит в новой сессии, исходящие порты разные. посему клиент использует все доступные порты для исходящей сессии и прекращает новые соединения.

guyvernk
()
Ответ на: комментарий от guyvernk

о чем спич то? сервер и принял 105537 соединений постоянных, а при их закрытии ядро стало говорить что не может своп прочитать, пришлось ресетить, сейчас ядро обновлю и повторю

quest ★★★★
() автор топика
Ответ на: комментарий от guyvernk

>и да - писать софт в котором каждая транзакция требует отдельной сессии - упоротое норкоманство.

да ты шо? web сервер обслуживающий кучу браузеров с кучей соединений это то-же наркоманство?

quest ★★★★
() автор топика
Ответ на: комментарий от quest

Подскажите пожалуйста что подтюнить чтобы клиенты могли создавать больше исходящих коннектов

перепиши клиентский софт чтобы он работал в рамках одной сессии

guyvernk
()
Ответ на: комментарий от guyvernk

>проблема в клиенте

отвечу тогда и на это. сие вообще то было сказано в начальном сообщении.

quest ★★★★
() автор топика
Ответ на: комментарий от quest

чтобы клиенты могли создавать больше исходящих коннектов

web сервер обслуживающий кучу браузеров с кучей соединений

у тебя каша в голове

guyvernk
()
Ответ на: комментарий от guyvernk

>перепиши клиентский софт чтобы он работал в рамках одной сессии

так и есть. один клиент - одно соединение, но клиентов сотни тысяч вот и соединений сотни тысяч.

quest ★★★★
() автор топика
Ответ на: комментарий от guyvernk

>у тебя каша в голове

извиниться не хочешь?

quest ★★★★
() автор топика
Ответ на: комментарий от guyvernk

>чтобы клиенты могли создавать больше исходящих коннектов

это тестовые клиенты для тестирования сервера, мне что сто тысяч компутеров арендовать и на них по клиенту запускать?

quest ★★★★
() автор топика
Ответ на: комментарий от quest

мне что сто тысяч компутеров арендовать и на них по клиенту запускать

прежде всего почитать описание протокола tcp

использовать ab

guyvernk
()
Ответ на: комментарий от guyvernk

можешь и дальше считать что я не знаю что такое tcp и никогда не пользовался ab - повышай свое ЧСВ, разрешаю.

quest ★★★★
() автор топика
Ответ на: комментарий от quest

я не знаю что такое tcp и никогда не пользовался ab

это заметно

все я ушел, участвовать в специальной олимпиаде желания нет

guyvernk
()
Ответ на: комментарий от guyvernk

да-да не трать время на убогих о великий!

quest ★★★★
() автор топика
Ответ на: комментарий от borisych

угу, да с клиентами то бог с ним это для теста

quest ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.