[Moscow.pm] Зависание FastCGI. Как отладить?

Grigory Batalov grisxa на gmail.com
Пт Ноя 29 06:03:42 PST 2013


On Fri, 29 Nov 2013 17:06:21 +0400
Гришаев Анатолий <0body0 на rambler.ru> wrote:

> Чего то подобное разбирается здесь: 
> http://www.lexa.ru/nginx-ru/msg38305.html
> 
> Но я бы ещё проверил на предмет fastcgi_keep_conn on;
> Я думаю, что лучше сделать fastcgi_keep_conn off;
> где-нибудь,  если такой строчки нет.
> И посмотрел не уйдет ли проблема.

У нас nginx-0.8.55, там ещё этой опции нет.

> >>> В логах вижу
> >>> 2013/11/20 12:24:02 [error] 12753#0: *22971445 recv() failed (104:
> >>> Connection reset by peer) while reading response header from
> >>> upstream, client: x.x.x.x, server: localhost, request:
> >>> "POST /mine/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:8082",
> >>> host: "mine:8080"
> >>>
> >>> После чего, не найдя ничего лучше, перезапускаю скрипты.
> >>> Куда копать?
> >>>
> >> Можно посмотреть на стек во время зависания:
> >>
> >> $SIG{HUP} = sub {
> >>     print STDERR Carp::longmess;
> >> };
> >>
> >> Можно ещё посмотреть strace.
> > Спасибо за совет!
> > Подключил strace, потом gdb, зависает на чтении из сокета:
> >
> > #0  0x00000032f7e0da70 in __read_nocancel ()
> > from /lib64/libpthread.so.0 #1  0x00002adbf063ae09 in OS_Read
> > (fd=4, buf=0x19e6370 "8JU\367\062", len=8192) at os_unix.c:460 #2
> > 0x00002adbf0638e60 in FillBuffProc (stream=0x195b4d0) at
> > fcgiapp.c:1636 ...


Подробная информация о списке рассылки Moscow-pm