I would also recommend litespeed. Though we're only running one app, we were running into the same memory issue with Nginx + Mongrel_cluster. Since we switched to litespeed we've had much more memory available plus better performance. To top it off its a BREEZE to setup and maintain.
On Mar 2, 9:49 pm, "Alexey Verkhovsky" <[EMAIL PROTECTED]> wrote: > Dear all, > > I am researching solutions for "how do you squeeze as many Rails apps as you > can on a cluster" problem. > > Environment constraints are as follows: > > * 4 commodity web servers (2 CPUs, 8 Gb of RAM each) > * shared file storage and database (big, fast, not a bottleneck) > * multiple Rails apps running on it > * normally, the load is insignificant, but from time to time any of these > apps can have a big, unpredictable spike in load, that takes (say) 8 > Mongrels to handle. > > The bottleneck, apparently, is RAM. At 100 Mb per Mongrel process, you can > only put 320 Mongrel processes on those boxes, and under specified > parameters you can only handle 40 apps on the hardware described above. PHP > can handle thousands of sites under the same set of constraints. > > We could use lighty + FastCGI combo, but it has a bad reputation. I wonder > if it's because of bugs in implementation, or it's just not designed for > these scenarios (if not, what's the limitation, and can it be fixed?) > > If anybody knows a ready-made solution to this problem, please let me know. > The last thing I want to do is reinvent the wheel. > > If anybody knows a load balancer smart enough to start and kill multiple > processes across the entire cluster, based on demand per application, please > let me know about that, too. > > Finally, I've been thinking about making Rails execution within Mongrel > concurrent by spawning multiple Rails processes as children of Mongrel, and > talking to them through local pipes (just like FastCGI does, but a > Ruby-specific solution). This may allow a single Mongrel to scale 3-4 times > better than now, and also to scale down if no requests are coming in the > last, say, 10 minutes. A "blank" Ruby process only takes 7Mb of RAM, perhaps > a "blank" Mongrel is not much more (haven't checked yet). Wonder if this > makes sense, or am I just crazy. > > I think, we can implement (and open-source) any solution that needs weeks > rather than years of effort. > > Thoughts? > > Best regards, > Alex Verkhovsky > ThoughtWorks --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Deploying Rails" group. To post to this group, send email to rubyonrails-deployment@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/rubyonrails-deployment?hl=en -~----------~----~----~----~------~----~------~--~---