[Mongrel] monit vs mongrel cluster
Zack Chandler
zackchandler at gmail.com
Tue Apr 3 19:19:39 EDT 2007
Ezra,
The --clean option is only available in 1.0.1.1 beta I believe? Are
you finding it stable enough for production environments (EY)?
I've been bitten by orphaned pids many times - I'm looking forward to
putting this into production...
--
Zack Chandler
http://depixelate.com
On 4/3/07, Ezra Zygmuntowicz <ezmobius at gmail.com> wrote:
>
> Yes mongrel_cluster handles the pid files. Also it does a better job
> of stopping mongrels. The problem I had when I used monit and
> mongrel_rails without mongrel_cluster was that if a mongrel used too
> much memory monit woudl not be able to stop it sometimes and so
> execution woudl fail and timeout.
>
> Using mongrel_clutser avoids this problem completely. Trust me I've
> tried it all different ways. I did monit without mongrel_cluster for
> a about a full month on close to 200 servers and then switched them
> all to monit and mongrel_cluster and get much better results.
>
> -Ezra
>
> On Apr 3, 2007, at 3:00 PM, snacktime wrote:
>
> > Makes sense that mongrel_cluster would handle a lot of edge cases
> > better then monit. Is it mainly the pid file handling that has been
> > the main issue so far?
> >
> > Have you tried daemontools? Seems to me like it would be more
> > reliable since you wouldn't have to deal with pid files and
> > backgrounding mongrel.
> >
> > Chris
> >
> > On 4/3/07, Ezra Zygmuntowicz <ezmobius at gmail.com> wrote:
> >>
> >> On Apr 3, 2007, at 1:39 PM, snacktime wrote:
> >>
> >>> Is there anything mongrel cluster gives you that monit doesn't?
> >>> I'll
> >>> be using monit to monitor a number of other services anyways, so it
> >>> seems logical to just use it for everything including mongrel.
> >>>
> >>> Chris
> >>>
> >>
> >> Chris-
> >>
> >> WHen you use monit you can still use mongrel_cluster to
> >> manage it.
> >> You need the latest pre release of mongrel_cluster. This is the best
> >> configuration I've been able to come up with for 64Bit systems. If
> >> your on 32bit system then you can lower the memory limits by about
> >> 20-30%
> >>
> >> check process mongrel_<%= @username %>_5000
> >> with pidfile /data/<%= @username %>/shared/log/mongrel.5000.pid
> >> start program = "/usr/bin/mongrel_rails cluster::start -C /data/<%
> >> = @username %>/current/config/mongrel_cluster.yml --clean --only
> >> 5000"
> >> stop program = "/usr/bin/mongrel_rails cluster::stop -C /data/<%=
> >> @username %>/current/config/mongrel_cluster.yml --clean --only 5000"
> >> if totalmem is greater than 110.0 MB for 4 cycles then
> >> restart # eating up memory?
> >> if cpu is greater than 50% for 2 cycles then
> >> alert # send an email to admin
> >> if cpu is greater than 80% for 3 cycles then
> >> restart # hung process?
> >> if loadavg(5min) greater than 10 for 8 cycles then
> >> restart # bad, bad, bad
> >> if 20 restarts within 20 cycles then
> >> timeout # something is wrong, call the sys-
> >> admin
> >> group mongrel
> >>
> >> check process mongrel_<%= @username %>_5001
> >> with pidfile /data/<%= @username %>/shared/log/mongrel.5001.pid
> >> start program = "/usr/bin/mongrel_rails cluster::start -C /data/<%
> >> = @username %>/current/config/mongrel_cluster.yml --clean --only
> >> 5001"
> >> stop program = "/usr/bin/mongrel_rails cluster::stop -C /data/<%=
> >> @username %>/current/config/mongrel_cluster.yml --clean --only 5001"
> >> if totalmem is greater than 110.0 MB for 4 cycles then
> >> restart # eating up memory?
> >> if cpu is greater than 50% for 2 cycles then
> >> alert # send an email to admin
> >> if cpu is greater than 80% for 3 cycles then
> >> restart # hung process?
> >> if loadavg(5min) greater than 10 for 8 cycles then
> >> restart # bad, bad, bad
> >> if 20 restarts within 20 cycles then
> >> timeout # something is wrong, call the sys-
> >> admin
> >> group mongrel
> >>
> >> check process mongrel_<%= @username %>_5002
> >> with pidfile /data/<%= @username %>/shared/log/mongrel.5002.pid
> >> start program = "/usr/bin/mongrel_rails cluster::start -C /data/<%
> >> = @username %>/current/config/mongrel_cluster.yml --clean --only
> >> 5002"
> >> stop program = "/usr/bin/mongrel_rails cluster::stop -C /data/<%=
> >> @username %>/current/config/mongrel_cluster.yml --clean --only 5002"
> >> if totalmem is greater than 110.0 MB for 4 cycles then
> >> restart # eating up memory?
> >> if cpu is greater than 50% for 2 cycles then
> >> alert # send an email to admin
> >> if cpu is greater than 80% for 3 cycles then
> >> restart # hung process?
> >> if loadavg(5min) greater than 10 for 8 cycles then
> >> restart # bad, bad, bad
> >> if 20 restarts within 20 cycles then
> >> timeout # something is wrong, call the sys-
> >> admin
> >> group mongrel
> >>
> >>
> >> I wen't for a while using my own scripts to start and stop
> >> mongrel
> >> without using mongrel_cluster. But it works more reliably when I use
> >> mongrel_cluster and monit together.
> >>
> >> Cheers-
> >> -- Ezra Zygmuntowicz
> >> -- Lead Rails Evangelist
> >> -- ez at engineyard.com
> >> -- Engine Yard, Serious Rails Hosting
> >> -- (866) 518-YARD (9273)
> >>
> >>
> >> _______________________________________________
> >> Mongrel-users mailing list
> >> Mongrel-users at rubyforge.org
> >> http://rubyforge.org/mailman/listinfo/mongrel-users
> >>
> > _______________________________________________
> > Mongrel-users mailing list
> > Mongrel-users at rubyforge.org
> > http://rubyforge.org/mailman/listinfo/mongrel-users
> >
>
> -- Ezra Zygmuntowicz
> -- Lead Rails Evangelist
> -- ez at engineyard.com
> -- Engine Yard, Serious Rails Hosting
> -- (866) 518-YARD (9273)
>
>
> _______________________________________________
> Mongrel-users mailing list
> Mongrel-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/mongrel-users
>
More information about the Mongrel-users
mailing list