On 8/22/06, hax <[EMAIL PROTECTED]> wrote: > So what happens when the mongrel gets more than one request at a time? > When I run httpref against it, the mongrel process can serve up large > number of rails pages before it gets bogged down. > And when it does break, it says "mongrel timed out this thread: too > many open files". So it must be doing some threading, even if rails > isn't threadsafe. > If it was 1 request per mongrel process, 1 process shouldn't be able > to serve up very many per second. httpref tells me its prettty fast > though.
Take a look at the Rails handler. It's pretty easy code to read. There is a guard mutex that makes sure that the Rails handler only processes a single request through Rails at a time. So, Mongrel receives your requests and Mongrel multithreads them, but the Rails handler only eats them one at a time. If Rails could safely multithread, then the guard mutex and it's synchronization (which you can turn off already if you really want to) wouldn't be required, and overall performance on a single Mongrel, for Rails, should be better. Kirk Haines _______________________________________________ Mongrel-users mailing list Mongrel-users@rubyforge.org http://rubyforge.org/mailman/listinfo/mongrel-users