コミュニティが私のために何かを明確にし、他の人が利益を得ることができることを願っています.
私の理解では、gunicorn ワーカー プロセスは本質的に Heroku Web dyno の仮想レプリカです。つまり、 Gunicorn のワーカー プロセスを Heroku のワーカー プロセス(Django Celery Tasks など)と混同しないでください。
これは、Gunicorn ワーカー プロセスが Web リクエストの処理 (基本的には Heroku Web Dyno のパフォーマンスの調整) に重点を置いているのに対し、Heroku ワーカー Dyno は長時間実行されるバックグラウンド タスクであるリモート API 呼び出しなどに特化しているためです。
リモート API を適切に利用する単純な Django アプリがあり、リソース バランスを最適化したいと考えています。また、ほとんどのリクエストで PostgreSQL データベースにクエリを実行しています。
これが非常に単純化しすぎていることは承知していますが、物事について正しく考えていますか?
関連情報:
https://devcenter.heroku.com/articles/process-model
https://devcenter.heroku.com/articles/background-jobs-queueing
https://devcenter.heroku.com/articles/django#running-a-worker
http://gunicorn.org/configure.html#workers
http://v3.mike.tig.as/blog/2012/02/13/deploying-django-on-heroku/
https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/gunicorn/
このトピックを研究している人のためのその他の準関連の役立つ SO の質問:
Nginx + Gunicorn + Django スタックでのサイトの遅さのトラブルシューティング
Gunicorn を Heroku にデプロイした Django のパフォーマンス低下