I know most people use pound, but has anyone tried using ultramonkey as a load balancing solution between a cluster of mongrels and lighttpd? Thanks, Ray -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
I would *highly* recommend checking out nginx. It''s even lighter and faster than lighty, *and* has a good balancer built in. -- -- Tom Mornini, CTO -- Engine Yard, Ruby on Rails Hosting -- Reliability, Ease of Use, Scalability -- (866) 518-YARD (9273) On Jan 9, 2007, at 11:50 PM, Raymond O''connor wrote:> I know most people use pound, but has anyone tried using > ultramonkey as > a load balancing solution between a cluster of mongrels and lighttpd?--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Raymond, Also check out HAProxy at http://haproxy.1wt.eu/ I''ve been using it on 2 installations without any problems. Pound was used before, but it was much more of a resource (cpu) hog, even when it really didn''t have to do any lb''ing. One of these installations is a very minimal VPS based setup. A simple fetch of the login page with ab (tested with 20 and 100 concurrent connections) gave me about 13 req/sec with Pound, and about 19 with HAProxy. Probably for a large part because Pound was sending requests to the mongrels in a random way, while with HAProxy I opted for a ''round robin'' lb''ing. The latter gives better results when doing one-after-the-other benchmarking using tools look ab. Still, I believe a round robin style lb''ing is better suited to our situation, also under normal conditions. HAProxy also has the interesting option of limiting connections to the back-end servers. Since mongrel can only handle 1 request at a time, I figured if you limit connections in HAProxy to 1, then new requests will get forwarded to the first non-busy mongrel at lb level instead of queued up at mongrel itself. Requests will get queued up at HAProxy and routed to the first free mongrel, instead of routed right away to the ''next'' mongrel and queued at mongrel level, with the possibility that another mongrel is sitting there idle. Checking this visually with top confirmed my assumption (HAProxy: all mongrels busy, Pound: about 75% busy at full load) Benchmarking this setup with ab dropped reqs/sec back to 13, but the time/req dropped compared to Pound, and I *think* this will also result in a more responsive webapp and the best configuration for our (rails/mongrel) situation. Also, big disadvantage about pound (at least when put behind apache, not sure about other situations): when checking production.log all requests seem to be coming from 127.0.0.1 (technically they are), while when using HAProxy you get the actual ip address they''re coming from. I *believe* rails checks the ''X-Forwarded-For'' http header and I don''t know the details but HAProxy handles this better than Pound for our situation. (Pound probably puts it''s own ip address in there when it forwards a request while Pound leaves it as it is) On the other hand, you can''t say something as cool as "I''m pounding my mongrels" when using HAProxy... My 2 cent. Correct me if I''m wrong. Piet.> -----Original Message----- > From: rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org > [mailto:rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org] On Behalf Of > Raymond O''connor > Sent: woensdag 10 januari 2007 8:50 > To: rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org > Subject: [Rails] ultramonkey vs pound? > > > I know most people use pound, but has anyone tried using > ultramonkey as a load balancing solution between a cluster of > mongrels and lighttpd? > Thanks, > Ray > > -- > Posted via http://www.ruby-forum.com/. > > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Wed, 10 Jan 2007 08:50:15 +0100 Raymond O''connor <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> > I know most people use pound, but has anyone tried using ultramonkey as > a load balancing solution between a cluster of mongrels and lighttpd? > Thanks, > Ray >There is also pen, http://siag.nu/pen Dominic --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Is there any benefit to using one of these load balancers over just using lighttpd''s mod_proxy to distribute load to Mongrel processes? Raymond O''connor wrote:> I know most people use pound, but has anyone tried using ultramonkey as > a load balancing solution between a cluster of mongrels and lighttpd? > Thanks, > Ray > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Dominic Marks wrote:> There is also pen, http://siag.nu/penpen absolutely rocks from a performance and reliability perspective. Takes a bit of work to set up properly though, especially if you want unified access logs with original client IP preserved. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
For our setup, the plan was to have the load balancing sw on two seperate boxes (one being a failover) that will loadbalance among several lighty/mongrel boxes. That leads to my next question, does nginx''s load balancing have any failover/monitoring so the other load balancer can take over? Under my limited knowledge, it seems nginx''s load balancing is part of the webserver itself, not something I can easily pull out of the webserver part and stick on its own server. My boss seems to like ultra monkey for whatever reason, but I couldn''t find one mention about anyone using it with an RoR setup, so I think we may go with pound or pen instead. Versus pound/pen is one better at doing failover/monitoring than the other? Thanks again, Ray -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Wed, 10 Jan 2007 16:35:08 -0000 "Sheldon Hearn" <sheldonh-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > > Dominic Marks wrote: > > There is also pen, http://siag.nu/pen > > pen absolutely rocks from a performance and reliability perspective.I found it would crash under certain circumstances. In my case loading a page with several hundreds images linked into it. Of course, having such a page is not such a great idea anyway!> Takes a bit of work to set up properly though, especially if you want > unified access logs with original client IP preserved.I patched it to insert an additional HTTP header with the client IP in the forwarding request as a work around. I was logging the client IP at the application level rather than server log though. If anyone wants the patch E-Mail me and I''ll see if I can find it. Dominic --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---