Re: падения воркера после включения max_conns
Maxim Dounin
mdounin на mdounin.ru
Пн Май 14 13:59:46 UTC 2018
Hello!
On Mon, May 14, 2018 at 02:35:27PM +0500, Илья Шипицин wrote:
> привет!
>
> используем nginx-1.13.9 на freebsd.
>
> поменяли конфигурацию
>
> было
>
> upstream xxx {
> server server1:80;
> server server2:80;
> server server3:80;
> keepalive 10;
> }
>
> стало
>
> upstream xxx {
> server server1:80 max_conns=5000;
> server server2:80 max_conns=5000;
> server server3:80 max_conns=5000;
> keepalive 10;
> zone xxx 10m;
> }
>
> стали ловить вот такие падения
>
> (gdb) bt
> #0 ngx_event_connect_peer (pc=0x827944638) at
> src/event/ngx_event_connect.c:41
> #1 0x00000000004720d3 in ngx_http_upstream_connect (r=0x807e13050,
> u=0x827944628) at src/http/ngx_http_upstream.c:1508
> #2 0x000000000046f1b7 in ngx_http_upstream_init_request (r=<value
> optimized out>) at ngx_event_timer.h:46
[...]
> у нас весьма развесистый конфиг, и есть сторонние модули (но по трейсу
> вроде они не задействованы). в списке изменений между 1.13.9 и 1.13.12 не
> вижу правок в этих местах.
>
>
> поразбираемся ?
Судя по падению, выбор пира вернул NGX_OK, но вернул при этом
мусор вместо адреса бэкенда. Наиболее вероятная причина -
какой-нибудь сторонний балансировщик, который не умеет работать с
блоками upstream{}, хранящимися в разделяемой памяти. Так что я
бы рекомендовал начать разбираться с выпиливания сторонних
модулей.
--
Maxim Dounin
http://mdounin.ru/
Подробная информация о списке рассылки nginx-ru