[Mongrel] Comet/Continuations/Armeggedon

Daniel Burkes dburkes at infoteria.com
Wed Jun 7 01:30:16 EDT 2006

> Well, Ruby has serious serious problems dealing with IO.  Number one
> problem is that it uses select so you only get 1024 open files at  
> once.
> And that's *all* files, not just sockets.  Throw in lacking  
> performance,
> poor IO processing, and only having Strings to do data storage and
> you're screwed.

Yeah that is a problem.  On the comet app I'm working on now, we  
expect thousands of suspended connections per server to be a nominal  

> I tried to bring this up in my interview with Pat Eyler at
> oreillynet.com and it failed miserably.  Nobody in the Ruby community
> seems interested in improving Ruby's speed or scalability.  Rather  
> than
> face facts and listen to people like me who are in the trenches  
> dealing
> with Ruby's problems, they would rather rant about how nobody really
> needs performance.
> I'd say, don't even bother until Ruby reaches 2.0 and I've ported over
> to Rite/YARV/Whatever.  Until then, trying to do anything that can
> handle more than a few persistent connections is just not worth it.

While I respect greatly the fact that you have intimate knowledge of  
Ruby's scalability issues, I think you're missing a bit of the point  
here.  I really don't care whether the connection suspend/resume  
functionality is itself implemented in Ruby, only that it is  
implemented in a web server which supports calling the suspend/resume  
APIs from Ruby handlers.  I was hoping that maybe mongrel could help  
out here, since part of it was already built in C, but it appears  
that all the socket handling and thread scheduling is in Ruby- is  
that correct?

In any case, I appreciate your comments and thank you for your work  
on Mongrel so far- I'm seriously considering using it on the Rails  
side of the comet site I mentioned above, rather than lightty/ 
fastcgi.   Anyway, it's hard to complain about being involved in such  
interesting decisions :-)

Best Regards,


More information about the Mongrel-users mailing list