I'm running Nginx front end proxying to Apache with mod_wsgi in Daemon
mode.

When uploading files the apache/django process is occasionally
swelling up as though it were loading the whole file into memory.

I've even removed the MemoryFileUploadHandler from the file upload
handlers just to be sure something didnt' go wrong there (that would
be very unlikely)

It might well be related to something the client is doing.

By client I am referring to the guy whose website it is, not the
browser thingy.
He says he isn't, but he might be uploading too much at the same time,
opening multiple browser windows.

I'm doing tests and not seeing it swell up like that, or at least it
wavers by 3-4 meg and the memory goes back down.
but he is consistently taking the server down every single day.

One thing I've thought of is that maybe its an issue with Nginx
passing the request on.

TemporaryFileUploadHandler works with a cache size of 65536 and Nginx
buffers it at 128k (see below)

I've tried it with 64k Nginx client_body_buffer_size
and with 640k client_body_buffer_size

no noticeable difference.

does anybody know or have experience with these settings and django
uploads ?
would 640k mean that nginx writes to file before passing initiating a
request to apache/django ?

    location / {
        # all else pass on to apache
        proxy_pass  http://127.0.0.1:8085;

        proxy_redirect              off;
        proxy_set_header            Host $host;
        proxy_set_header            X-Real-IP $remote_addr;
        proxy_set_header            X-Forwarded-For
$proxy_add_x_forwarded_for;
        client_max_body_size        500m;
        client_body_buffer_size     128k;
        proxy_connect_timeout       90;
        proxy_send_timeout          90;
        proxy_read_timeout          90;
        proxy_buffer_size           4k;
        proxy_buffers               4 32k;
        proxy_busy_buffers_size     64k;
        proxy_temp_file_write_size  64k;
        }

http://wiki.nginx.org/NginxHttpProxyModule

[With longer and larger files it usually ends with a 504 timeout
returned to the browser,
though the file did finish uploading ok.  changed proxy_read_timeout
to 900 and that fixed it]

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to