On Fri, Sep 07, 2012 at 09:14:27AM +1200, Nahum Wild wrote:
> "Sidekiq uses multithreading so it is much more memory efficient than
> Resque (which forks a new process for every job). You'll find that you
> might need 50 200MB resque processes to peg your CPU whereas one 300MB
> Sidekiq process will peg the same CPU and perform the same amount of work.
> Please see my blog post on Resque's memory
> efficiency<
http://blog.carbonfive.com/2011/09/16/improving-resques-memory-efficiency/>and
> how I was able to shrink a Carbon Five client's resque processing farm
> from 9 machines to 1 machine."
"To scale to the levels they wanted to get to, they projected that
they would need to run hundreds of Resque processes, each consuming
512MB. Insanity!"
If this figure of 512MB has been gleaned by just reading the largest
number from top (usually VIRT), and maybe it wasn't, then it is pretty
meaningless.
See this stack overflow answer for some guidelines on how to interpret
top output, on Linux at least. If you ever need to do that kind of
forward planning for 'how much memory will I need for x workers' it
helps to be able to interpret what the figures mean.
http://stackoverflow.com/a/561450/223304
Malc