Рейтинг:-1

клиент tcp, который делает много исходящих соединений

флаг tr

Моему TCP-клиенту нужно одновременно подключаться к тысячам серверов (в локальной сети). Общение простое. 10-байтовая строка TCP-запрос, 20-байтовый ответ.

У меня гигабитная сеть.

когда клиент подключает серверы один за другим, проблем нет. Но когда все сразу у меня получается с 1000 серверов, а другие терпят неудачу с ошибками: обычно нет маршрута к хосту.

Мои клиенты работают на совершенно новом NUC с i7. Я настраивал стек TCP:

sysctl -w fs.file-max=100000
мту 500, 3000, 9000
улимит -n 32000 2000 3000 5000 

Но никакого успеха. Лучшее, что мне удалось получить, это 1800 подключений. Вы знаете, как победить эту проблему?

Рейтинг:0
флаг tr

Мне удалось решить эту проблему, поэтому позвольте мне поделиться тем, как: с dmesg я узнаю, что:

> [145307.501197] сосед: arp_cache: таблица соседей переполнена!
> [145307.567830] сосед: arp_cache: таблица соседей переполнена!
> [145308.354244] сосед: arp_cache: таблица соседей переполнена!
> [145308.479650] сосед: arp_cache: таблица соседей переполнена!

поэтому решением было увеличить таблицу ARP:

sysctl -w net.ipv4.neigh.default.gc_thresh1=16000
sysctl -w net.ipv4.neigh.default.gc_thresh2=20000
sysctl -w net.ipv4.neigh.default.gc_thresh3=24000 

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.