[Mongrel] ANNC: qrp - queueing reverse proxy

Steve Midgley public at misuse.org
Sun Feb 24 14:24:05 EST 2008

Hi Eric,

This is very interesting - thanks for your notification on qrp. I have 
a question for you. I believe there is an nginx module called "fair 
proxy" which is supposed to be intelligent about queuing requests so 
that only "free mongrels" (i.e. mongrels without an active Rails task 
running) receive requests.

Ezra blogged it here:


I wonder how what you're working on differs and/or improves on this 
system (obviously the architecture is different but I'm wondering about 

Would there be a reason to run both? Would your tool be preferred in 
some circumstances to the nginx fair proxy balancer? If so, what kind 
of circumstances? Or do they basically solve the same problem at 
different points in the stack?

Thanks for any additional detail on your very interesting project!



At 10:47 AM 2/24/2008, mongrel-users-request at rubyforge.org wrote:
>Date: Sun, 24 Feb 2008 00:54:53 -0800
>From: Eric Wong <normalperson at yhbt.net>
>Subject: [Mongrel] ANNC: qrp - queueing reverse proxy
>To: mongrel-users at rubyforge.org
>Message-ID: <20080224085453.GA7552 at soma>
>Content-Type: text/plain; charset=us-ascii
>Hi, I've started a new project that uses Mongrel.  It basically
>lets you defer requests to it until other Mongrels in your (Rails)
>pool becomes free.
>Rubyforge project page:
>   http://rubyforge.org/projects/qrp/
>gems, tarballs and git repo in case they haven't hit the mirrors yet:
>   http://bogomips.org/ruby/
>I should also add that nginx 0.6.7 or later is required for the
>"backup" feature I mention below in the README:
>Queueing Reverse Proxy (qrp)
>   Ever pick the wrong line at the checkout counters in a crowded 
> store?
>   This is what happens to HTTP requests when you mix a multi-threaded
>   Mongrel with Rails, which is single-threaded.
>   qrp aims to be the simplest (worse-is-better) solution and have the
>   lowest (adverse) impact to an existing setup.
>   An existing Rails site running Mongrel with nginx proxying to them.
>   Unlike Apache, nginx fully buffers HTTP requests from clients 
> before
>   passing them off to Mongrels, which allows Mongrels to dedicate 
> more
>   cycles to running Rails itself.

More information about the Mongrel-users mailing list