mongrel upload progress and nginx

Will,

Haven’t tried it, but it is possible that Pound is routing the successive requests from each user back to the same mongrel process. This is important because each mongrel only knows about it’s own set of uploads unless you are using the DRb version of mongrel_upload_progress to synchronize all of your mongrels. I’m using the uploader behind Pen with the DRb synchro version and it works just fine. Pen is capable of trying to remember which user belongs to which backend server, but I’m not using that functionality and am opting for DRb to do the sync instead.

Check out the DRb section on: http://mongrel.rubyforge.org/docs/upload_progress.html

Hope this helps…

Matt

Will,

Shoot… I was hoping for simple :wink:

Did a bit of sleuthing, and confirmed my suspicions about NGINX: http://wiki.codemongers.com/NginxHttpProxyModule

Looks like it buffers the whole request in memory before passing it to the backend when you use it as a proxy:

“Note that when using the HTTP Proxy Module (or even when using FastCGI), the entire client request will be buffered in nginx before being passed on to the backend proxied servers. As a result, upload progress meters will not function correctly if they work by measuring the data received by the backend servers.”

Doh! Ezra beat me to it!