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 [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
