Forum: Mongrel Threading Rails

Posted by Parker Thompson (Guest)
on 2008-08-27 19:00
(Received via mailing list)
Hey,

We (Pivotal Labs) have bee experimenting with Mongrel and Rails Edge
to see what happens if we remove the mutex around the dispatch to
Rails, our goal being to reduce memory usage in virtualized
environments where memory is tight.  We're pretty happy with the
results and ready to put together a real patch for Mongrel to allow
users to run Rails this way.  So, we're ready to patch Mongrel to
support this.

It probably doesn't make sense to just remove the handler's mutex
around dispatch as this could lead to num-processors threads in rails
concurrently.  Probably we'll want to limit that separately.  I'm
thinking we should patch the handler to optionally allow threading,
then make mongrel_rails support this + a limit on how many requests to
process concurrenty.

I'm wondeing what kind of patch you would want, and whether anyone has
suggestions.

Thanks,

pt.
Posted by Piyush Ranjan (Guest)
on 2008-08-27 22:19
(Received via mailing list)
isn't rails 2.2 / edge supposed to have threading built in ? or am I 
missing
something here ?

also mongrel can handle multiple threads well . In fact I have tried it 
in
mongrel handlers and it works very well (for 75 concurrent requests each
taking 5 minutes to complete).
Posted by Jonathan Weiss (Guest)
on 2008-08-27 22:29
(Received via mailing list)
On Wed, Aug 27, 2008 at 9:38 PM, Piyush Ranjan <piyush.pr@gmail.com> 
wrote:
> isn't rails 2.2 / edge supposed to have threading built in ? or am I missing
> something here ?
>

Rails 2.2 is thread-safe. This doesn't mean that it is automatically
used this way.

> also mongrel can handle multiple threads well . In fact I have tried it in
> mongrel handlers and it works very well (for 75 concurrent requests each
> taking 5 minutes to complete).
>

Mongrel can handle multiple threads, but Rails runs inside a big
lock/mutex (because until 2.2 it isn't thread-safe).

This whole discussion is about changing/removing the lock.

Jonathan

--
Jonathan Weiss
http://blog.innerewut.de
http://twitter.com/jweiss
Posted by Parker Thompson (Guest)
on 2008-08-28 04:01
(Received via mailing list)
FYI, we are pretty much done with this:

  http://github.com/pivotal/mongrel/tree/master

We'll probably test it a bit more tomorrow and then release it into the 
wild.

Any feedback would be appreciated.

Thanks,

pt.
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.