If you're using Rails with Mongrel, file upload currently sucks. If you have
two mongrels running (say) and two users upload two large files, your entire
app will be hung just serving those requests. This is because Rails can't
run safely multi-threaded, and it's not Mongrel's fault.

An upload only Mongrel could (and should) be written in a framework other
than Rails. Both Camping and Merb are good choices. In this instance you
don't need many mongrels since even 1 can simultaneously serve many file
uploads. So you'll ideally have 1 server where you have one or more mongrels
running your file upload app, and use that to accept uploads. This is what
we do at SlideShare: we have a custom Camping app to accept file uploads.

Your frontend webserver or load balancer would redirect all requests to
/upload (say) to your uploader mongrel running at it's own port. And all
other requests can be served some other way. We do this through lighttpd
proxying.

HTH
Vish

On 11/28/06, Rogelio J. Samour <[EMAIL PROTECTED]> wrote:

I have an Apache 2.2.3 (mod_proxy_balancer) frontend server that does
not have mongrel installed. It does proxy requests to several other
mongrel-only servers (each running 2 mongrel processes). Each mongrel
node has the same rails code-base and it's working perfectly.

However, my question is when I add an upload file form... where is it
going to physically put that file? I mean since it's hitting either one
node or the other, so how does mongrel deal with that? and how or where
do I tell it to accept large files (100mb+) ?

I have read on having an upload-only mongrel process, but again how will
all the other mongrels know to post the file to it or to a specific
folder somewhere? Direction on this would be greatly appreciated!

Thanks for your help on this. I searched the forum and didn't find
anything specifically dealing with this. I have also checked the mongrel
docs and most of the setups talk about mongrel_upload_progress plugin
and/or the mongrel_cluster setup...(I may have missed something :-/)


cheers,

-rjs-

p.s. mongrel ROCKS!

_______________________________________________
Mongrel-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/mongrel-users

_______________________________________________
Mongrel-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/mongrel-users

Reply via email to