> Hi Roberto, > sorry for the late answer > > 2013/11/14 Roberto De Ioris <[email protected]>: >> >> First time i see it, would be useful to have a strace of uWSGI during >> the >> transfer (to know if the problem is uWSGI, nginx or sendfile over unix >> sockets) > > I reduced to one single worker (process=1 in ini file) and run strace > strace -p <worker-process-pid> >& /tmp/strace_uwsgi.log > > this is the output: http://pastebin.com/TDAnifNH > > (in case of successful upload, the first part of strace output is: > http://pastebin.com/5HNtTxg4) > > Apparently it is just a matter of POST dimension > > This is the nginx error trace: > 2013/11/19 14:44:22 [warn] 29935#0: *768 a client request body is > buffered to a temporary file /var/cache/nginx/client_temp/0000000009, > client: 10.100.79.10, server: myproj-test.italia.mysite.org, request: > "POST /api/inspections HTTP/1.1", host: > "myproj-test.italia.mysite.org" > 2013/11/19 14:44:22 [error] 29935#0: *768 sendfile() failed (32: > Broken pipe) while sending request to upstream, client: 10.100.79.10, > server: myproj-test.italia.mysite.org, request: "POST /api/inspections > HTTP/1.1", upstream: "uwsgi://unix:///var/run/uwsgi/myproj.sock:", > host: "myproj-test.italia.mysite.org" > > This is the uwsgi trace in case of error: > Nov 19 14:44:22 myproj-web04 myproj: [pid: 537|app: 0|req: 16/16] > 10.100.79.10 () {32 vars in 550 bytes} [Tue Nov 19 14:44:22 2013] POST > /api/inspections => generated 0 bytes in 1 msecs (HTTP/1.1 401) 2 > headers in 112 bytes (1 switches on core 0) > > This is the uwsgi trace in case of success: > Nov 19 14:45:08 myproj-web04 myproj: [pid: 537|app: 0|req: 20/20] > 10.100.79.10 () {34 vars in 602 bytes} [Tue Nov 19 14:45:07 2013] POST > /api/inspections => generated 7 bytes in 465 msecs (HTTP/1.1 201) 3 > headers in 151 bytes (1 switches on core 0) > > please notice [warn] in nginx error trace, is it that the problem? > I receive no [warn] nor [error] in nginx trace in case of successful > upload > > Marco
Is it possible your view does not read the request body, and closes the connection before nginx sends it ? From your strace it looks so. Just to be sure (before changing your code) add post-buffering = 8192 to your config. If it solves your issue, you can remove it and fix the code (or just leave it enabled and forget about it). If you do not plan to use things like websockets or chunked input there is no problem with it. -- Roberto De Ioris http://unbit.it _______________________________________________ uWSGI mailing list [email protected] http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
