Search code examples
djangoherokunewrelicwaitress

How does Heroku determines the number of web processes to run per dyno?


I'm using Heroku to host a django application, and I'm using Waitress as my web server. I run 2 (x2) dynos, And I see in New Relic instance tab that I have 10 instances running.

I was wondering How does Heroku determines the number of web server processes to run on one Dyno when using Waitress?

I know that when using Gunicorn there is a way to set the number of proccess per dyno, but didn't see any way to define it in Waitress.

Thanks!


Solution

  • So after talking to the New relic support they clarified the issue. Apparently only processes are counted in the instances tab (threads do not count).

    in my Procfile I am also monitoring RabbitMQ workers which add instances to the instance tab, and hence the mismatch. To quote their answer :

    I clarified with our developers how exactly we measure instances for the Instances tab. The Python agent views each monitored process as one instance. Threads do not count as additional instances. I noticed that you're monitoring not only your django/waitress app, but also some background tasks. It looks like the background tasks plus the django processes are adding up to that total of 10 processes being monitored.