> 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 situation. > 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, Danny _______________________________________________ Mongrel-users mailing list [email protected] http://rubyforge.org/mailman/listinfo/mongrel-users
