Maxim Dounin
February 16, 2018 07:04AM
Hello!

On Fri, Feb 16, 2018 at 01:12:43PM +0300, kpoxa wrote:

> Добрый день.
>
> nginx version: nginx/1.12.2
>
> Кслассическая схема:
>
> nginx - apache (10 серверов) - mysql
>
> В случае перегрузки базы данных апач отвечает медленно, что логично.
> Перестаёт отвечать nginx'у.
> И как следствие nginx выводит сервер с апачом из работы. Соответственно
> сервер начинает то включаться в работу то выключаться.
>
> Далее наблюдается следующая картина, которая у вызывает у меня вопрос, у
> апачей куча детей в статусе R, т.е. reading request.
>
> strace на процесс Апача примерно такой:
>
> accept(
>
> пришел syn пакет и апач его принял
>
> read(
>
> ждём HTTP запрос от nginx в течении 60+ секунд.
>
> не знаю в какой момент, но nginx открывает соединения, возможно до вывода
> сервера из работы, а далее не отправляет на него запросы, как следствие
> дети Апача заняты ожиданием запросов и апач в итоге не отвечают нормально.

Попробуйте снять tcpdump (причём желательно - с двух сторон,
nginx'а и backend'а), возможно станет понятнее, что тут
происходит.

Ну и сразу стоит убедиться, что между nginx'ом и апачами нет
какого-нибудь умного statefull firewall'а, а если вдруг есть -
убрать или тщательно исследовать на предмет настроек и ошибок.

--
Maxim Dounin
http://mdounin.ru/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Некорректная работа при выведении сервера из апстрима за timeout

kpoxa February 16, 2018 05:14AM

Re: Некорректная работа при выведении сервера из апстрима за timeout

Maxim Dounin February 16, 2018 07:04AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 307
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