LINUX.ORG.RU
ФорумAdmin

4тыс коннектов и pthread_create

 , , ,


0

3

использую 3proxy для раздачи рандомных ипв6

нагрузка около 1.5 Тб в сутки, одновременно примерно 4000 коннектов

из всего объема около 15% коннекты есть, но трафик не идет. То бишь, в браузере все попытки что либо открыть — неуспех.

Все, за что смог зацепиться в плане ошибок — в логе 3proxy встречается «pthread_create(): Resource temporarily unavailable».

Поднял все лимиты, насколько это возможно. Не помогает:

ulimit -a

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 127871
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1000000
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) unlimited
cpu time               (seconds, -t) unlimited
max user processes              (-u) 40000
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
threads-max
500000

sysctl.conf

net.core.wmem_max=12582912
net.core.rmem_max=12582912
net.ipv4.tcp_rmem= 10240 87380 12582912
net.ipv4.tcp_wmem= 10240 87380 12582912
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_no_metrics_save = 1
net.core.netdev_max_backlog = 5000

limits.conf

root hard nofile 1000000
root soft nofile 1000000
nobody hard nofile 250000
nobody soft nofile 500000
* hard nofile 500000
* soft nofile 500000
root hard nproc 40000
root soft nproc 80000
nobody hard nproc 20000
nobody soft nproc 40000
* hard nproc 20000
* soft nproc unlimited
root - memlock unlimited
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4,tcp_synack_retries = 3
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 3
* soft stack 32768
root soft stack unlimited
root hard stack unlimited

system.conf

DefaultLimitDATA=infinity
DefaultLimitSTACK=infinity
DefaultLimitCORE=infinity
DefaultLimitRSS=infinity
DefaultLimitNOFILE=102400
DefaultLimitAS=infinity
DefaultLimitNPROC=10240
DefaultLimitMEMLOCK=infinity
DefaultTasksMax=unlimited

Ну еще косвенное, TIME_WAIT постоянно около 10-13тыс штук

Честно говоря фантазия уже кончилась что еще можно подкрутить



Последнее исправление: sure (всего исправлений: 5)

Из твоего сообщения мне показалось что оно создаёт по треду на каждый коннект. Если так, то - выкинуть мультитред из 90-х и сделать event loop. Речь про исправление исходного кода проги. Столько много тредов нигде не рассчитано, проблемы не одна так другая лезть будут.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)