I have one server that runs a Django application served by gunicorn and a Celery task queue.
Gunicorn docs suggest (2 x $num_cores) + 1 as the default number of workers.
Celery docs show that the number of Celery workers defaults to 1 x $num_cores.
And both suggest experimenting to find the proper number.
My question is, what would be a good rule of thumb for running both Gunicorn and Celery on the same machine? On a two core machine should I start with five Gunicorn and four Celery workers? Or would it make sense to start with say three Gunicorn and two Celery workers?
My current setup has two cores, five Gunicorn and four Celery workers and is currently RAM-bound, in case that helps.