Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Открытие более 160к TCP соединений (4 IP по 40к соединений каждый)  (Прочитано 417382 раз)

0 Пользователей и 3 Гостей просматривают эту тему.

Оффлайн Усики

  • Автор темы
  • Участник
  • *
  • Сообщений: 247
    • Просмотр профиля
Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-97-generic x86_64)

На машине 4 сетевых интерфейса. (4 внешних IP)
Мои программы (C#) открывают на каждом из IP по 40к соединений типа socks5 (tcp).
Мне нужно открыть 4 * 40к = 160к соединений в сумме. Однако Мне удается открыть только ~152к.

Количество открытых соединений смотрю с помощью команды: ss -s

Помогите открыть максимально возможное кол-во соединений на машине. Ума не приложу с чего начать.

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1754
    • Просмотр профиля
sudo sysctl net.ipv4.tcp_rmem
sudo sysctl net.ipv4.tcp_wmem
?

Оффлайн Усики

  • Автор темы
  • Участник
  • *
  • Сообщений: 247
    • Просмотр профиля
root@sa381:~# sudo sysctl net.ipv4.tcp_rmem
net.ipv4.tcp_rmem = 4096 131072 6291456
root@sa381:~# sudo sysctl net.ipv4.tcp_wmem
net.ipv4.tcp_wmem = 4096 16384 4194304

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1754
    • Просмотр профиля
sudo sysctl net.ipv4.ip_local_port_range
sudo sysctl net.ipv4.tcp_fin_timeout

** range / timeout = sockets per second

Оффлайн Усики

  • Автор темы
  • Участник
  • *
  • Сообщений: 247
    • Просмотр профиля
sudo sysctl net.ipv4.ip_local_port_range range / timeout = sockets per second

sysctl: separators should not be repeated: //net/ipv6/route/min_adv_mss
sysctl: separators should not be repeated: //net/ipv6/route/min_adv_mss
..net.ipv6.route.min_adv_mss = 1220
sysctl: separators should not be repeated: //net/ipv6/route/mtu_expires
sysctl: separators should not be repeated: //net/ipv6/route/mtu_expires
..net.ipv6.route.mtu_expires = 600
sysctl: separators should not be repeated: //net/ipv6/route/skip_notify_on_dev_down
sysctl: separators should not be repeated: //net/ipv6/route/skip_notify_on_dev_down
..net.ipv6.route.skip_notify_on_dev_down = 0
sysctl: separators should not be repeated: //net/ipv6/seg6_flowlabel
sysctl: separators should not be repeated: //net/ipv6/seg6_flowlabel
..net.ipv6.seg6_flowlabel = 0
sysctl: separators should not be repeated: //net/ipv6/xfrm6_gc_thresh
sysctl: separators should not be repeated: //net/ipv6/xfrm6_gc_thresh
..net.ipv6.xfrm6_gc_thresh = 32768
sysctl: separators should not be repeated: //net/mptcp/add_addr_timeout
sysctl: separators should not be repeated: //net/mptcp/add_addr_timeout
..net.mptcp.add_addr_timeout = 120
sysctl: separators should not be repeated: //net/mptcp/allow_join_initial_addr_port
sysctl: separators should not be repeated: //net/mptcp/allow_join_initial_addr_port
..net.mptcp.allow_join_initial_addr_port = 1
sysctl: separators should not be repeated: //net/mptcp/checksum_enabled
sysctl: separators should not be repeated: //net/mptcp/checksum_enabled
..net.mptcp.checksum_enabled = 0
sysctl: separators should not be repeated: //net/mptcp/enabled
sysctl: separators should not be repeated: //net/mptcp/enabled
..net.mptcp.enabled = 1
sysctl: separators should not be repeated: //net/mptcp/stale_loss_cnt
sysctl: separators should not be repeated: //net/mptcp/stale_loss_cnt
..net.mptcp.stale_loss_cnt = 4
sysctl: separators should not be repeated: //net/netfilter/nf_log/0
sysctl: separators should not be repeated: //net/netfilter/nf_log/0
..net.netfilter.nf_log.0 = NONE
sysctl: separators should not be repeated: //net/netfilter/nf_log/1
sysctl: separators should not be repeated: //net/netfilter/nf_log/1
..net.netfilter.nf_log.1 = NONE
sysctl: separators should not be repeated: //net/netfilter/nf_log/10
sysctl: separators should not be repeated: //net/netfilter/nf_log/10
..net.netfilter.nf_log.10 = NONE
sysctl: separators should not be repeated: //net/netfilter/nf_log/11
sysctl: separators should not be repeated: //net/netfilter/nf_log/11
..net.netfilter.nf_log.11 = NONE
sysctl: separators should not be repeated: //net/netfilter/nf_log/12
sysctl: separators should not be repeated: //net/netfilter/nf_log/12
..net.netfilter.nf_log.12 = NONE
sysctl: separators should not be repeated: //net/netfilter/nf_log/2
sysctl: separators should not be repeated: //net/netfilter/nf_log/2
..net.netfilter.nf_log.2 = NONE
sysctl: separators should not be repeated: //net/netfilter/nf_log/3
sysctl: separators should not be repeated: //net/netfilter/nf_log/3
..net.netfilter.nf_log.3 = NONE
sysctl: separators should not be repeated: //net/netfilter/nf_log/4
sysctl: separators should not be repeated: //net/netfilter/nf_log/4
..net.netfilter.nf_log.4 = NONE
sysctl: separators should not be repeated: //net/netfilter/nf_log/5
sysctl: separators should not be repeated: //net/netfilter/nf_log/5
..net.netfilter.nf_log.5 = NONE
sysctl: separators should not be repeated: //net/netfilter/nf_log/6
sysctl: separators should not be repeated: //net/netfilter/nf_log/6
..net.netfilter.nf_log.6 = NONE
sysctl: separators should not be repeated: //net/netfilter/nf_log/7
sysctl: separators should not be repeated: //net/netfilter/nf_log/7
..net.netfilter.nf_log.7 = NONE
sysctl: separators should not be repeated: //net/netfilter/nf_log/8
sysctl: separators should not be repeated: //net/netfilter/nf_log/8
..net.netfilter.nf_log.8 = NONE
sysctl: separators should not be repeated: //net/netfilter/nf_log/9
sysctl: separators should not be repeated: //net/netfilter/nf_log/9
..net.netfilter.nf_log.9 = NONE
sysctl: separators should not be repeated: //net/netfilter/nf_log_all_netns
sysctl: separators should not be repeated: //net/netfilter/nf_log_all_netns
..net.netfilter.nf_log_all_netns = 0
sysctl: separators should not be repeated: //net/unix/max_dgram_qlen
sysctl: separators should not be repeated: //net/unix/max_dgram_qlen
..net.unix.max_dgram_qlen = 512
sysctl: separators should not be repeated: //user/max_cgroup_namespaces
sysctl: separators should not be repeated: //user/max_cgroup_namespaces
..user.max_cgroup_namespaces = 256330
sysctl: separators should not be repeated: //user/max_fanotify_groups
sysctl: separators should not be repeated: //user/max_fanotify_groups
..user.max_fanotify_groups = 128
sysctl: separators should not be repeated: //user/max_fanotify_marks
sysctl: separators should not be repeated: //user/max_fanotify_marks
..user.max_fanotify_marks = 531608
sysctl: separators should not be repeated: //user/max_inotify_instances
sysctl: separators should not be repeated: //user/max_inotify_instances
..user.max_inotify_instances = 128
sysctl: separators should not be repeated: //user/max_inotify_watches
sysctl: separators should not be repeated: //user/max_inotify_watches
..user.max_inotify_watches = 499964
sysctl: separators should not be repeated: //user/max_ipc_namespaces
sysctl: separators should not be repeated: //user/max_ipc_namespaces
..user.max_ipc_namespaces = 256330
sysctl: separators should not be repeated: //user/max_mnt_namespaces
sysctl: separators should not be repeated: //user/max_mnt_namespaces
..user.max_mnt_namespaces = 256330
sysctl: separators should not be repeated: //user/max_net_namespaces
sysctl: separators should not be repeated: //user/max_net_namespaces
..user.max_net_namespaces = 256330
sysctl: separators should not be repeated: //user/max_pid_namespaces
sysctl: separators should not be repeated: //user/max_pid_namespaces
..user.max_pid_namespaces = 256330
sysctl: separators should not be repeated: //user/max_time_namespaces
sysctl: separators should not be repeated: //user/max_time_namespaces
..user.max_time_namespaces = 256330
sysctl: separators should not be repeated: //user/max_user_namespaces
sysctl: separators should not be repeated: //user/max_user_namespaces
..user.max_user_namespaces = 256330
sysctl: separators should not be repeated: //user/max_uts_namespaces
sysctl: separators should not be repeated: //user/max_uts_namespaces
..user.max_uts_namespaces = 256330
sysctl: separators should not be repeated: //vm/admin_reserve_kbytes
sysctl: separators should not be repeated: //vm/admin_reserve_kbytes
..vm.admin_reserve_kbytes = 8192
sysctl: separators should not be repeated: //vm/compact_memory
sysctl: separators should not be repeated: //vm/compact_memory
sysctl: separators should not be repeated: //vm/compact_unevictable_allowed
sysctl: separators should not be repeated: //vm/compact_unevictable_allowed
..vm.compact_unevictable_allowed = 1
sysctl: separators should not be repeated: //vm/compaction_proactiveness
sysctl: separators should not be repeated: //vm/compaction_proactiveness

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

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1754
    • Просмотр профиля
sudo sysctl net.ipv4.ip_local_port_range?

Оффлайн Усики

  • Автор темы
  • Участник
  • *
  • Сообщений: 247
    • Просмотр профиля
root@sa381:~# sudo sysctl net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 32768   60999

Пользователь добавил сообщение 24 Марта 2024, 23:04:37:

Пользователь добавил сообщение 25 Марта 2024, 18:51:38:
sudo sysctl net.ipv4.ip_local_port_range?
/var/log/apport.log
ERROR: apport (pid 207081) Mon Mar 25 16:20:00 2024: called for pid 33368, signal 6, core limit 0, dump mode 1
ERROR: apport (pid 207081) Mon Mar 25 16:20:00 2024: executable: /home/s/MainAppFS (command line "/home/s/./MainAppFS")
ERROR: apport (pid 207081) Mon Mar 25 16:20:00 2024: executable does not belong to a package, ignoring


Transport Total     IP        IPv6
RAW     1         0         1       
UDP     2         2         0       
TCP     152331    565       151766   
INET     152334    567       151767   
FRAG     0         0         0 

если хочу запустить 150к то запустит нормально... 160к уже не может.. это максимум(( помогите найти "узкое" место
« Последнее редактирование: 25 Марта 2024, 18:52:50 от Усики »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Усики

  • Автор темы
  • Участник
  • *
  • Сообщений: 247
    • Просмотр профиля

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Усики

  • Автор темы
  • Участник
  • *
  • Сообщений: 247
    • Просмотр профиля
тогда я не понимаю концепцию форума. тут помогают с поиском решения или нет?

Оффлайн F12

  • Администратор
  • Старожил
  • *
  • Сообщений: 4494
    • Просмотр профиля
Усики, это не концепция форума, это подход к поиску решения некоторых пользователей :),

   ... вопрос был сформулирован: а решение такой задачи существует?
      ... и конкретно на этот вопрос был дан ответ: Да

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
тогда я не понимаю концепцию форума. тут помогают с поиском решения или нет?
Вы спросили - с чего начать?
Я дал конкретную ссылку - "с чего начать". Там же, кстати, описаны и подходы к решению задачи.
Но вам же не это нужно, вам нужно, чтобы кто-то решил вашу проблему за вас.
В реальном мире это называется "услуга администрирования сервера" и оплачивается отдельно.

На тот случай, если это сразу не было понятно - задача в принципе нетривиальная и универсального решения не существует.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Усики

  • Автор темы
  • Участник
  • *
  • Сообщений: 247
    • Просмотр профиля
Дело оказалось в недостаточном количестве RAM ... надеялся что файл подкачки (swap) исправит недостающие 5-6 гигов. но это не сработало.

 

Страница сгенерирована за 0.034 секунд. Запросов: 22.