Welcome! Log In Create A New Profile

Advanced

Re: upstream c keepalive и периодически 502 ошибка

October 18, 2016 05:31AM
Maxim Dounin Wrote:
-------------------------------------------------------
> Соединение с бекендом, какое бы оно ни было постоянное,
> периодически закрывается. Если это происходит в тот момент, когда
> nginx послал в соединение запрос - с точки зрения nginx'а это
> выглядит как ошибка.
>
> Чтобы nginx имел возможность в такой ситуации перепослать запрос
> ещё раз - стоит описать ещё один server в блоке upstream, можно
> тот же самый. Тогда вместо возврата 502 клиенту nginx пойдёт на
> следующий сервер в соответствии с настройкой proxy_next_upstream,
> и вернёт пользователю полученный ответ.

Похоже, что даже с одним server в блоке upstream уже происходит перепосылка запроса, судя по нескольким ответам, сначала 502, потом 200 в логах в $upstream_status, предположу, что такое поведение обеспечивается за счет max_fails. То есть можно игнорировать эти ошибки или может как-то можно их минимизировать, скажем, выставив keepalive_timeout на бэкенде больше, чем что-либо на прокси (правда не знаю что)?

> Задержки в $upstream_connect_time - это скорее всего либо потери
> пакетов, либо переполненная listen queue на бекенде (что на
> Linux'е при настройках по умолчанию выглядит как потеря
> SYN-пакета).

Вряд ли это переполненная очередь на бэкенде, там сейчас backlog=65535 и net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535 и net.ipv4.ip_local_port_range = 16384 65535. Такие же задержки возникают и на уровне upstream_header_time, например, upstream_header_time > 1, а upstream_connect_time=0.02. Бывает вообще только upstream_response_time > 1, а все остальные = 0.02. Это и странно, поскольку трафик и нагрузка на бэкенде небольшие.

Большое спасибо за ответы.
Subject Author Posted

upstream c keepalive и периодически 502 ошибка

waster October 17, 2016 07:42PM

Re: upstream c keepalive и периодически 502 ошибка

Maxim Dounin October 17, 2016 09:38PM

Re: upstream c keepalive и периодически 502 ошибка

waster October 18, 2016 05:31AM

Re: upstream c keepalive и периодически 502 ошибка

Maxim Dounin October 18, 2016 09:18AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 305
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready