Deployment survey

  • Framework, if any (Camping, Merb, Rails, Nitro, Ramaze, IOWA, Rack…)
    Rails 1.2.6/2.0.2
  • Mongrel version
    1.1.2
  • Mongrel handlers used (rails, dirhandler, camping, cgiwrapper…)
    rails
  • How many mongrel routes and handlers per route registered (if you
    don’t know, it’s probably <= 2)
    <=2
  • Any Mongrel plugins used (mongrel_upload_progress, mongrel_gzip,
    mongrel_cow_cluster, mongrel_experimental…)
    mongrel_cluster
  • Mongrel runners used (mongrel_rails, mongrel::cluster,
    mongrel_service, RV, others… please be very specific about which
    options of the runner you use. For example, some people use
    mongrel::cluster but only for the --clean functionality, not for the
    clustering).
    Using Capistrano spin script that uses process spawner:
    script/process/spawner -p 8000 -a 127.0.0.1 -i 4
  • Number of mongrels per server per app
    4
  • Monitoring system (runit, monit, god…)
    none at the moment, most likely will implement monit soon
  • Proxy or software loadbalancer, if any (apache mod_proxy_balancer,
    nginx, pen…)
    apache mod_proxy_balancer
  • HW loadbalancer, if any (Netscaler…)
    None
  • Caching strategy (memcached fragments, memcached object, squid,
    rails page cache, rails page fragments, ESI)
    None
  • Whether you serve media assets via mongrel itself, as opposed to
    through a webserver
    Webserver Apache
  • Operating system including distribution or version (OS X 10.4.10,
    Ubuntu/Linux 7.10, WinXP SP2, OpenBSD 4.1…)
    Ubuntu/Linux 7.10 Server
  • Architecture, via ‘uname -a’ preferably (x86, x86_64, Sparc, PPC,
    Arm (ha), JRuby)
    Linux 2.6.22-14-server #1 SMP Sun Oct 14 23:34:23 GMT 2007 i686
    GNU/Linux
  • CPU count
    1
  • Ruby version including custom distribution patches,
    (1.8.6p110+threadhooks, 1.8.5, JRuby 1.1b1, Rubinius trunk… also
    note where you got it, in case it isn’t clear, for example, OS X 10.5
    built-in, Ubuntu apt, Instant Rails, direct compile from source)
    ruby 1.8.6 (2007-06-07 patchlevel 36) [i486-linux]
  • Rubygems (yes/no, version)
    0.9.4
  • Framework, if any (Camping, Merb, Rails, Nitro, Ramaze, IOWA, Rack…)

Merb,Rails

  • Mongrel version

1.1.3

  • Mongrel handlers used (rails, dirhandler, camping, cgiwrapper…)

rails

  • How many mongrel routes and handlers per route registered (if you
    don’t know, it’s probably <= 2)

don’t know

  • Any Mongrel plugins used (mongrel_upload_progress, mongrel_gzip,
    mongrel_cow_cluster, mongrel_experimental…)

1 plugin I made myself, a secure download handler

  • Mongrel runners used (mongrel_rails, mongrel::cluster,
    mongrel_service, RV, others… please be very specific about which
    options of the runner you use. For example, some people use
    mongrel::cluster but only for the --clean functionality, not for the
    clustering).

mongrel_rails from Swiftiply with EVENT=1

  • Number of mongrels per server per app

1 (very low load)

  • Monitoring system (runit, monit, god…)

monit

  • Proxy or software loadbalancer, if any (apache mod_proxy_balancer,
    nginx, pen…)

used to use nginx but didn’t need it for only 1 mongrel process

  • HW loadbalancer, if any (Netscaler…)

none

  • Caching strategy (memcached fragments, memcached object, squid,
    rails page cache, rails page fragments, ESI)

memcached fragments + memcached object

  • Whether you serve media assets via mongrel itself, as opposed to
    through a webserver

front-end webserver handles static files

  • Operating system including distribution or version (OS X 10.4.10,
    Ubuntu/Linux 7.10, WinXP SP2, OpenBSD 4.1…)

Fedora 8 on server, OS X 10.5.1 in dev

  • Architecture, via ‘uname -a’ preferably (x86, x86_64, Sparc, PPC,
    Arm (ha), JRuby)

x86_64

  • CPU count

2

  • Ruby version including custom distribution patches,
    (1.8.6p110+threadhooks, 1.8.5, JRuby 1.1b1, Rubinius trunk… also
    note where you got it, in case it isn’t clear, for example, OS X 10.5
    built-in, Ubuntu apt, Instant Rails, direct compile from source)

server - 1.8.6p111, dev - 1.8.6 OS X 10.5 version

  • Rubygems (yes/no, version)

yes, 1.0.1

Please mention anything else about your system that’s kind of weird,
and anything that’s been particularly troublesome regarding mongrel
deployment.

I had a hard time getting monit to set EVENT=1, eventually using a
wrapper shell script.

  • Framework, if any (Camping, Merb, Rails, Nitro, Ramaze,
    IOWA, Rack…)

Rails-1.2.x

  • Mongrel version

Mongrel-1.1

  • Mongrel handlers used (rails, dirhandler, camping, cgiwrapper…)

rails

  • How many mongrel routes and handlers per route registered
    (if you don’t know, it’s probably <= 2)

Uh…

  • Any Mongrel plugins used (mongrel_upload_progress,
    mongrel_gzip, mongrel_cow_cluster, mongrel_experimental…)

Nope

  • Mongrel runners used (mongrel_rails, mongrel::cluster,
    mongrel_service, RV, others… please be very specific
    about which options of the runner you use. For example, some
    people use mongrel::cluster but only for the --clean
    functionality, not for the clustering).

mongrel_service-0.3.1

  • Number of mongrels per server per app

3

  • Monitoring system (runit, monit, god…)

Uh…

  • Proxy or software loadbalancer, if any (apache
    mod_proxy_balancer, nginx, pen…)

pen+cygwin for load balancing, isapi_rewrite for reverse proxying behind
IIS

  • HW loadbalancer, if any (Netscaler…)

Nope

  • Caching strategy (memcached fragments, memcached object,
    squid, rails page cache, rails page fragments, ESI)

rails page cache

  • Whether you serve media assets via mongrel itself, as
    opposed to through a webserver

Some both ways. Static images and stylesheets via the web server, but my
model objects can have attached images which are scaled and served from
the rails page cache by mongrel

  • Operating system including distribution or version (OS X
    10.4.10, Ubuntu/Linux 7.10, WinXP SP2, OpenBSD 4.1…)

WinXP SP2 and Win2k3 Server

  • Architecture, via ‘uname -a’ preferably (x86, x86_64,
    Sparc, PPC, Arm (ha), JRuby)

x86

  • CPU count

2

  • Ruby version including custom distribution patches,
    (1.8.6p110+threadhooks, 1.8.5, JRuby 1.1b1, Rubinius trunk…

1.8.6

also note where you got it, in case it isn’t clear, for
example, OS X 10.5 built-in, Ubuntu apt, Instant Rails,
direct compile from source)

OneClick installer

  • Rubygems (yes/no, version)

yes, 0.9.2

Please mention anything else about your system that’s kind of
weird, and anything that’s been particularly troublesome
regarding mongrel deployment.

Having to install pen on win32 to get load balancing is a PITA. It would
be super swell if mongrel_service or mongrel_cluster could offer that
capability, even if it’s not the fastest option available.

I should, of course, be using apache on win32, but my hands are tied in
that regard, and I know I’m not the only one.

  • donald

It’s great to get a sense for what everybody’s using. Here’s my setup:

  • Framework, if any (Camping, Merb, Rails, Nitro, Ramaze, IOWA,
    Rack…)

Rails. Not using anything but ActiveRecord and very basic
controllers, so planning to switch to Merb soon for improved speed +
less memory overhead.

  • Mongrel version

1.0.1

  • Mongrel handlers used (rails, dirhandler, camping, cgiwrapper…)

Rails

  • How many mongrel routes and handlers per route registered (if you
    don’t know, it’s probably <= 2)

n/a

  • Any Mongrel plugins used (mongrel_upload_progress, mongrel_gzip,
    mongrel_cow_cluster, mongrel_experimental…)

none

  • Mongrel runners used (mongrel_rails, mongrel::cluster,
    mongrel_service, RV, others… please be very specific about which
    options of the runner you use. For example, some people use
    mongrel::cluster but only for the --clean functionality, not for the
    clustering).

mongrel_rails, mongrel::cluster (for clustering)

  • Number of mongrels per server per app

12-16 per server

  • Monitoring system (runit, monit, god…)

monit

  • Proxy or software loadbalancer, if any (apache mod_proxy_balancer,
    nginx, pen…)

nginx 0.5.34 (recently switched from lighttpd, and very happy with
nginx)

  • HW loadbalancer, if any (Netscaler…)

a separate linux box running pound

  • Caching strategy (memcached fragments, memcached object, squid,
    rails page cache, rails page fragments, ESI)

custom caching in central ruby process (mongrels talk to it via DRB)

  • Whether you serve media assets via mongrel itself, as opposed to
    through a webserver

Media/static assets served by nginx using X-Accel-Redirect

  • Operating system including distribution or version (OS X 10.4.10,
    Ubuntu/Linux 7.10, WinXP SP2, OpenBSD 4.1…)

Ubuntu Feisty Fawn 7.04

  • Architecture, via ‘uname -a’ preferably (x86, x86_64, Sparc, PPC,
    Arm (ha), JRuby)

Linux server4 2.6.20-15-generic #2 SMP Sun Apr 15 06:17:24 UTC 2007
x86_64 GNU/Linux

  • CPU count

2 servers, each running 2 dual core Xeon’s

  • Ruby version including custom distribution patches,
    (1.8.6p110+threadhooks, 1.8.5, JRuby 1.1b1, Rubinius trunk… also
    note where you got it, in case it isn’t clear, for example, OS X 10.5
    built-in, Ubuntu apt, Instant Rails, direct compile from source)
  • Rubygems (yes/no, version)

ruby 1.8.5 (2006-08-25) [x86_64-linux]

  • Rubygems (yes/no, version)

yes, 0.9.0

Please mention anything else about your system that’s kind of weird,
and anything that’s been particularly troublesome regarding mongrel
deployment.

Could never build mysql_gem successfully on these machines (received
errors about 64-bits). Other than that, everything has been running
great.

-Pete