9 messages in ru.sysoev.nginxRe: nginx, php-fpm and 502 errors
FromSent OnAttachments
Jure PečarNov 20, 2007 7:16 am 
Igor SysoevNov 20, 2007 8:16 am 
Jure PečarNov 20, 2007 10:45 am 
Igor SysoevNov 20, 2007 11:30 am 
Jure PečarNov 21, 2007 12:04 am 
Denis F. LatypoffNov 21, 2007 12:22 am 
Jure PečarNov 21, 2007 12:27 am 
Igor SysoevNov 21, 2007 12:45 am 
Denis F. LatypoffNov 21, 2007 12:45 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: nginx, php-fpm and 502 errorsActions...
From:Jure Pečar (pega@public.gmane.org)
Date:Nov 20, 2007 10:45:36 am
List:ru.sysoev.nginx

On Tue, 20 Nov 2007 19:16:39 +0300 Igor Sysoev <is-G@public.gmane.org> wrote:

By the way, it's starnge that Linux returns EAGAIN instead of EINPROGRESS.

I've read somewhere that this is one of those "linux knows better than posix" things ...

It's also strange that Linux does not return ENOTCONN error via getsockopt(SO_ERROR).

Don't know about this ... This nginx runs inside Virtuozzo VPS, could this have some effect?

It's not the middle. It's first FastCGI packet: "\1\1\0\1\0\10\0\0..." The scenario is following:

connect() returns EAGAIN, nginx adds socket to epoll epoll reports about some condition (may be an error) on the socket nginx writev()s FastCGI request and the writev() returns ENOTCONN.

I see. Is is possible/feasible to check what epoll reports before doing writev()?

Our situation is like this: openads with 500-1000 hits per second still uses mysql with myisam (table locks!) every now and then some db operation locks table for more than a few miliseconds php-cgi processes get stuck waiting for database nginx spams error log, because fixed sized pool of php processes wont talk to it anymore

... is there anything useful to do on the nginx side? Or should I just set /dev/null for error log? ;)