Waitress には、マスター プロセスと (デフォルトで) 4 つのワーカー スレッドまたはプロセスがあります。必要に応じて、これを変更できます。これらのオプションのドキュメントは次のとおりですwaitress-serve
http://waittress.readthedocs.org/en/latest/runner.html#runner
--threads=INT
アプリケーション ロジックの処理に使用されるスレッドの数。デフォルトは 4 です。
したがって、2 つの dyno があり、それぞれに 5 (4+1) スレッドがある場合、RPM ダッシュボードでこのアプリの合計は 10 インスタンスになります。
Heroku 2x dyno でサポートされる最大数がはるかに高いため、dyno にさらにプロセスを追加できます。
2X dyno は 512 以下をサポート
https://devcenter.heroku.com/articles/dynos#process-thread-limits
ただし、これとの調整に関するいくつかの議論をチェックしたい場合がありますGunicorn
。
ウェイトレスは、同期ワーカーに渡す前にクライアント本体全体をバッファリングする非同期マスター プロセスを持っているという点で異なります。したがって、サーバーは低速のクライアントに対して回復力がありますが、一度に最大 (デフォルト) 4 つの要求を処理することも保証されています。これにより、データベースが過負荷になるのを防ぎ、スケーリング サービスをより予測しやすくします。
ウェイトレスには外部依存関係がないため、heroku スラッグのサイズも小さく保たれます。
https://discussion.heroku.com/t/waitres-vs-gunicorn-for-docs/33