24

システム管理者と開発者に質問があります。uWSGI を実行すると、uWSGI を実行するときにワーカーまたはプロセスの数を設定できるようになり、インストールされているマシンに依存することを読んだので、次の質問があります。

  1. マシンのワーカー数を定義するルールは何ですか?
  2. nginx で使用する場合worker_processes、nginx.conf の構成はこれに影響しますか?
  3. Celery と Redis で使用する場合、concurrencyこれに関連していますか?
  4. このセットアップのスレッド セーフはどうですか? (私のアプリでは、1 つのリクエストで 1 つのタスクが実行され、その結果、このタスクでセロリが 2 回呼び出されるケースを見てきました。)
4

1 に答える 1

17
  • マシンのワーカー数を定義するルールは何ですか?

    uWsgiドキュメントから:

    プロセスまたはスレッドの数を設定するための魔法のルールはありません。これは、アプリケーションとシステムに依存します。2*cpucoresのような単純な数学を使用するだけで十分だとは思わないでください。アプリを常に監視しながら、さまざまな設定を試す必要があります。uwsgitopは、最良の価値を見つけるための優れたツールになる可能性があります。

  • nginxで使用する場合、nginx.confの構成「worker_processes」はこれに影響しますか?

    この設定はnginxにのみ関連しており、uwsgiに直接影響することはありません。worker_processesただし、20個のnginxと1個のuwsgiワーカーだけが必要なため、この設定をいじくり回す必要があります。

  • celery + redisで使用する場合、「同時実行性」はこれに関連していますか?

    私は通常、djangoのmanage.pyを使用してCeleryデーモンを起動するため、これはuwsgiの外部で動作します。

  • この設定でのスレッドセーフはどうですか?

    コメントするには、詳細/詳細を知る必要があります。

于 2012-10-11T14:53:00.183 に答える