Nginx отдает 502 ошибку

Разгильдяй

Новичок
Nginx отдает 502 ошибку

Доброго времени суток!
Прошу совета в решении следующей проблемы:
Есть два сервера: front и daemon. На front установлен Nginx + PHP Version 5.3.3 (FPM/FastCGI) на daemon PHP Version 5.3.2 (FPM/FastCGI) без Nginx.
На daemon запущены демоны, написанные на PHP+libevent. На сервере front PHP отправляет запросы демонам на сервер demon и при этом раз в 5-10 минут появляется 502 ошибка. В логах php, nginx и php-fpm ничего криминального не нашли. Подскажите, где могут быть подводные камни и как решить проблему?
 

iceman

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

Разгильдяй

Новичок
Автор оригинала: iceman
ну смотри свой демонный сервак, почему он не отвечает, видать на него нагрузка большая
Нагрузки большой нет в этом то все и дело и если демоны работают с фронтом на одной машине то проблем никаких нет. В логах тоже ничего подозрительного не нашли.
 

Long

Новичок
детализация. cудя по всему проблема в открываемых сокетах на внешний айпишник, ибо открытие сокта на локальном интерфейсе работает стабильно. может были у кого-то какие-то проблемы с сокетами, как определяли, что крутили?
 

Ragazzo

TDD interested
rpaf_mod может?м?он исправляет ip, которые в REMOTE_ADDR, возможно в скриптах к ним идет обращение...
 

Long

Новичок
Ragazzo, сокеты открываются только на адреса (изначально было по именам, но чтобы исключить влияние днс, переключили на IP) своих серверов, которые в одном ДЦ стоят (почти 100%, что в одном)
 

Разгильдяй

Новичок
Причина судя по логам в том, что демоны долго не отвечают. Но это происходит только если демоны и фронт на разных серверах, т.к. на тестовом сервере у нас все на одном сервере и работает как часики. Хостер диангостику сетки проводил, проверял хард, ошибок нигде нет. Я три дня держал на фронте и на демоне запущенный MTR ни одного потерянного пакета, сам пхп тоже работает отлично.
 

Ragazzo

TDD interested
Разгильдяй
ты задачу то эту решил? можно еще попробовать в никсе поставить подольше время ожидания запросов...
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
или посмотреть аналогичное для proxy
 

Разгильдяй

Новичок
Проблему решить пока не удалось. На одной машине все ОК, на разных демоны почему-то залипают, перестают отвечать и писать в лог, но не падают (в процессах висят) и в браузере ессно 502.
 

Ragazzo

TDD interested
попробуй послать им сигнал на завершение, посмотри они вообще на что-то реагируют с удаленной машины. Сигнал конечно никсовый а не другой какой-то
 

Разгильдяй

Новичок
Ты имеешь ввиду в тот момент, когда они долго не отвечают? Тут весь прикол в том, что они какое-то время работают очень стабильно, а потом бац и 502 откуда невозьмись.
 

Ragazzo

TDD interested
Да в тот момент когда они не отвечают. Рабочая машина на nix-е да?Кстати скорее всего ошибка именно в том что апач падает наверно..ну бэкенд...у тебя ведь апач еще стоит?и посмотри не сжирают ли процессы всю отведенную им память, что потом и вызывает зависание
 

Ragazzo

TDD interested
Хм...у меня закончились идеи...поскольку это не бэкенд, то надо гуглить) самому стало интересно прям)
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Разгильдяй
сколько запросов в момент 502 ошибки идет на серваки? Что говорит top про la? Конфиг nginx'a кажи с сервака с демоном. iostat -kx что кажет?
 

Long

Новичок
la - копейки, на серверах 8 ядер. в среднем - 0.2
на остальные вопросы не могу сейчас ответить - пока закрыто от пользователей. но на тестах количество запросов было на порядки больше, чем генерировали пользователи.
на демоне nginx отключали - запросы шли напрямую к демонам (демоны слушают каждый свой порт). в конфигурации с nginx на тестах получалось меньше запросов обработать, чем при подключениях напрямую, поэтому решили исключить одно звено. казалось бы должно было полегчать, однако все случилось наоборот.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Long
Php привязан к нгинксу через сокет файл или на порту висит?
 

Long

Новичок
на фронте? и так и так пробовали. результат не отличается.
зы. по колесам стучали :)

-~{}~ 21.09.10 17:54:

# iostat -kx
Linux 2.6.26-2-amd64 (01.daemon) 09/21/2010 _x86_64_

avg-cpu: %user %nice %system %iowait %steal %idle
7.15 0.03 2.23 0.69 0.00 89.90

Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sda 1843.42 73.27 89.47 4.92 1144.60 290.24 30.40 0.74 7.80 0.46 4.33
sda1 1.98 58.85 0.34 1.76 9.20 242.53 239.76 0.25 120.50 1.75 0.37
sda2 34.71 6.75 5.59 1.71 181.52 33.86 58.98 0.14 18.58 2.32 1.70
sda3 1806.72 7.66 83.54 1.45 953.87 13.86 22.77 0.35 4.09 0.32 2.68
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Странно, диски полностью не забиты, чтение-запись считай по нулям, проц тоже пустой на 90%. Моя хз что думать(
 
Сверху