[Mongrel] multi threaded theoretically useful?
wyhaines at gmail.com
Fri Sep 7 16:35:53 EDT 2007
On 9/7/07, Faisal N Jawdat <faisal at faisal.com> wrote:
> Are you assuming that the memory hit per-thread is about the same as
> per mongrel process?
No. It's irrelevant, because there's only so much work that a single
ruby process can do, regardless of the number of threads it contains.
Once the process is doing all of the work that it can, you only get
more work done by adding another process. Repeat until all of your
CPUs are doing all of the work that they can.
I have a personal hunch that most of the time people are running more
Mongrels than they need to run to maximize the throughput on their
hardware, though. Anyone who is concerned about the RAM footprint of
their application should step back and take a look at how many mongrel
processes they are running. Do some analysis and see if they can
reduce that number without affecting throughput.
Maybe take a look at using Swiftiply+swiftiplied_mongrel
evented_mongrel instead of the threaded mongrel and look again. I
think that in many cases a person can run a lot fewer processes than
they are, and still get the same, or maybe even better throughput.
Once your CPUs are at max utilization, more processes don't help.
More information about the Mongrel-users