Не хватает диапазона ip_local_port_range

123 4
N
На сайте с 06.05.2007
Offline
419
#11
Dimka:
"max clients is also limited by the number of socket connections available on the system (~64k)"
видимо, ошибочно?

Из контекста вырвано. Речь об исходящих соединениях.

Ну или какой-то старой системе.

Dimka:
Подскажите, что именно отслеживать? Поставил munin и добавил плагин nginx_status.

Да, вот это и еще нестандартный плагин tcp-states, на который ссылку я раньше давал. Все эти показатели полезно знать.

Dimka:
netstat при высоком keepalive 600 в nginx:

то есть 600 секунд в конфиге nginx ? там же по-умолчанию то 75.

Нужно совсем немного - 10 даже хватит. Зависит от специфики,но обычно суть этого keep-alive в том, чтобы последовательная загрузка элементов одной странички шла быстро .Держать соединение и ждать следующей странички в современном интернете , пожалуй, лишнее.

Dimka:
Поставил 20480 (для 4 worker_processes ). Или можно смело ставить 51200*4?

на мой взгляд - да. но если вы завысили keep-alive, зачем усугублять?

Кнопка вызова админа ()
L
На сайте с 01.03.2016
Offline
7
#12

Классика NAT: порты кончились.

Лечение: делаем пул ип адресов и мажем по ним трафик дальше.

Зарабатывть бабки и иметь кучу клиентов - это две большие разницы. Доверенный партнер поможет с доменами РЦ. Личный кабинет. Работаем по договору. Благотворительностью не занимаемся. Индивидуально.
D
На сайте с 07.11.2000
Offline
219
#13

lamma, как выше подсказали, для nginx порты не при чем

D
На сайте с 07.11.2000
Offline
219
#14

Опять проблема. На самой машине пробую:

telnet localhost 80

Trying 127.0.0.1...

telnet: Unable to connect to remote host: Connection timed out

Ошибок, в т.ч. в syslog не видно

---------- Добавлено 08.03.2016 в 06:44 ----------

netstat:

38174 TIME_WAIT

6337 FIN_WAIT2

4259 ESTABLISHED

1354 FIN_WAIT1

698 LAST_ACK

512 SYN_RECV

141 CLOSING

90 CONNECTED

1 servers)

1 I-Node

---------- Добавлено 08.03.2016 в 07:01 ----------

Видимо все же есть conntrack

Mar 8 09:45:00 user kernel: [1665539.556599] __ratelimit: 30694 callbacks suppressed

Mar 8 09:45:00 user kernel: [1665539.556628] nf_conntrack: table full, dropping packet.

---------- Добавлено 08.03.2016 в 07:07 ----------

sysctl -a | grep conntrack

net.netfilter.nf_conntrack_generic_timeout = 600
net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 120
net.netfilter.nf_conntrack_tcp_timeout_syn_recv = 60
net.netfilter.nf_conntrack_tcp_timeout_established = 432000
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_last_ack = 30
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close = 10
net.netfilter.nf_conntrack_tcp_timeout_max_retrans = 300
net.netfilter.nf_conntrack_tcp_timeout_unacknowledged = 300
net.netfilter.nf_conntrack_tcp_loose = 1
net.netfilter.nf_conntrack_tcp_be_liberal = 0
net.netfilter.nf_conntrack_tcp_max_retrans = 3
net.netfilter.nf_conntrack_udp_timeout = 30
net.netfilter.nf_conntrack_udp_timeout_stream = 180
net.netfilter.nf_conntrack_icmp_timeout = 30
net.netfilter.nf_conntrack_acct = 1
net.netfilter.nf_conntrack_events = 1
net.netfilter.nf_conntrack_events_retry_timeout = 15
net.netfilter.nf_conntrack_count = 312231
net.netfilter.nf_conntrack_buckets = 16384
net.netfilter.nf_conntrack_checksum = 1
net.netfilter.nf_conntrack_log_invalid = 0
net.netfilter.nf_conntrack_expect_max = 256
net.ipv4.netfilter.ip_conntrack_generic_timeout = 600
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_sent = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_sent2 = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 432000
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_last_ack = 30
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close = 10
net.ipv4.netfilter.ip_conntrack_tcp_timeout_max_retrans = 300
net.ipv4.netfilter.ip_conntrack_tcp_loose = 1
net.ipv4.netfilter.ip_conntrack_tcp_be_liberal = 0
net.ipv4.netfilter.ip_conntrack_tcp_max_retrans = 3
net.ipv4.netfilter.ip_conntrack_udp_timeout = 30
net.ipv4.netfilter.ip_conntrack_udp_timeout_stream = 180
net.ipv4.netfilter.ip_conntrack_icmp_timeout = 30
net.ipv4.netfilter.ip_conntrack_count = 312234
net.ipv4.netfilter.ip_conntrack_buckets = 16384
net.ipv4.netfilter.ip_conntrack_checksum = 1
net.ipv4.netfilter.ip_conntrack_log_invalid = 0
N
На сайте с 06.05.2007
Offline
419
#15

Dimka, точно есть . Я бы попробовал выгрузить модуль, но вероятно у вас все же есть правила, от которых conntrack зависит.

Например, ограничение на число соединений с одного IP.

Ну тогда ключ может называться net.nf_conntrack_max и придется его увеличивать. По-умолчанию он как раз 64k, так что все сходится.

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

Но я бы пока не пытался эти параметры испортить, если можно просто лимит поднять.

D
На сайте с 07.11.2000
Offline
219
#16

lsmod | grep ipt

iptable_mangle 2817 0
iptable_nat 4283 0
nf_nat 13308 1 iptable_nat
nf_conntrack_ipv4 9833 3 nf_nat,iptable_nat
nf_conntrack 46391 3 nf_conntrack_ipv4,nf_nat,iptable_nat
iptable_filter 2258 1
ip_tables 13915 3 iptable_filter,iptable_nat,iptable_mangle
x_tables 12845 4 ip_tables,xt_multiport,ip6_tables,iptable_nat

lsmod | grep nf

nf_nat 13308 1 iptable_nat
nf_conntrack_ipv4 9833 3 nf_nat,iptable_nat
nf_conntrack 46391 3 nf_conntrack_ipv4,nf_nat,iptable_nat
nf_defrag_ipv4 1139 1 nf_conntrack_ipv4



---------- Добавлено 08.03.2016 в 07:32 ----------

modprobe -n -r nf_conntrack

FATAL: Module nf_conntrack is in use.

---------- Добавлено 08.03.2016 в 07:52 ----------

Поборол "nf_conntrack: table full, dropping packet"

Все равно сервер страшно тупит. Проверки на доступность - каждая третья вылетает по таймауту.

И munin не может получить по localhost стат от nginx

Т.к.

telnet localhost 80

Trying 127.0.0.1...

telnet: Unable to connect to remote host: Connection timed out

L
На сайте с 01.03.2016
Offline
7
#17

Dimka, а я и не говорю об nginx.

Проблема классическая. Первыми на неё натыкаются пионернеты с натом на тазиках.

Вторые: контент сервера с большим количеством запросов.

Метода решения два:

1. Заниматься порнографическим тьюнингом ядра и потом все равно перейти к п.2

2. Мазать трафик по ip пулу и не париться.

К пункту 2 можно добавить потом vrrp или подобную технологию, что бы клиенты не в пул, а в один адрес смотрели.

D
На сайте с 07.11.2000
Offline
219
#18
netwind:
Там тоже своих таймаутов куча и он как бы сам по себе, потому что призван отслеживать чужие транзитные соединения на линукс-роутерах.
Но я бы пока не пытался эти параметры испортить, если можно просто лимит поднять.

Опустил все таймауты net.ipv4.netfilter.ip_conntrack_tcp_timeout_***** - провисать и выпадать по таймауту стало меньше.

Стал net.netfilter.nf_conntrack_count = 49574 (вместо 312231)

N
На сайте с 06.05.2007
Offline
419
#19

Dimka, ну а какие именно правила iptables у вас требуют conntrack ? может пересмотреть их необходимость и убрать ? тогда модуль выгрузится

D
На сайте с 07.11.2000
Offline
219
#20

iptables -L -n -v (заменил IP XXX)

Chain INPUT (policy ACCEPT 4893K packets, 522M bytes)
pkts bytes target prot opt in out source destination
3895 332K fail2ban-ssh-ddos tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22
3895 332K fail2ban-ssh tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 4698K packets, 3581M bytes)
pkts bytes target prot opt in out source destination

Chain fail2ban-ssh (1 references)
pkts bytes target prot opt in out source destination
163 9780 DROP all -- * * 180.XXX.XX.XX 0.0.0.0/0
19 1632 DROP all -- * * 40.XXX.XXX.XX 0.0.0.0/0
0 0 DROP all -- * * 60.XXX.XXX.XX 0.0.0.0/0
51 3060 DROP all -- * * 183.XXX.XXX.XX 0.0.0.0/0
3439 305K RETURN all -- * * 0.0.0.0/0 0.0.0.0/0

Chain fail2ban-ssh-ddos (1 references)
pkts bytes target prot opt in out source destination
3895 332K RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий