I have an application behind nginx (Rails on Unicorn if it matters) which listens on a UNIX socket. It all works nice, especially when load is low. When there is some load on the server though (say 70%), I randomly(?) get a bunch of 502 responses -- usually in batches. Thus the question: when (under what conditions) does nginx send a 502 response? Thanks in advance, fastcatch PS: The app's worker processes do not seem to be irresponsive, slow, blocked for IO or anything else I have been able to identify as a possible cause. Thus I want to understand more the nginx side so as to find the root cause -- which I believe is on the other side (or some config tweak needed soemwhere). Posted at Nginx Forum: http://forum.nginx.org/read.php?2,237573,237573#msg-237573
on 2013-03-19 21:29
on 2013-03-19 21:48
In my experience, Nginx returns 502 when the upstream server (Unicorn in your case) doesn't respond or terminates the connection unexpectedly. _Nik
on 2013-03-20 11:04
Thank you. BTW: having googled it for different expressions I've found that it is a well known issue and that it has nothing to do with nginx or the Rails app itself. Unicorn in and of itself can neither be blamed (albeit IMHO there should be some official documentation on this issue, esp. since nginx is the preferred/"official" web server for unicorn). It looks like a socket backlog setting issue to be handled at OS level but I'm still unsure if that's a resolution or not. Posted at Nginx Forum: http://forum.nginx.org/read.php?2,237573,237590#msg-237590
on 2013-03-21 11:03
I can confirm that allowing a longer backlog queue (in unicorn config + net.core.somaxconn and net.core.netdev_max_backlog) did solve the issue (for me). I posted a bit more details at http://stackoverflow.com/a/15544229/1061997. Posted at Nginx Forum: http://forum.nginx.org/read.php?2,237573,237622#msg-237622
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.