I don't remember where I got the following snippet from so if someone knows, please point it out so that I can give them credit.
How many mongrels?
Here's a simple formula to follow:
A. Take the (average or median) request time, in seconds. Say, 0.250 seconds (250ms)
B. How many requests do you want to handle at peak? (e.g. 10,000 a minute, 166 a second)
C. Multiply A x B : 0.250 * 166 = 41.5
So you need about 40 mongrels to handle the load. At about 60MB per listener, that's 2.4GB of RAM, plus a bit of room for leakiness and swapping. Ezra at Engine Yard suggests "about 10 dogs per CPU core", which means that if we have a 4-core opteron box with 3GB of RAM, then this is possible on one box.
Your mileage will vary, which means, if the box is lagging, remove a few mongrels.