2016-08-12 7 views
1

私は基本的にどのようにガンコルン労働者が働くか知りたいと思います。私は、4GBのRAMと2台のCPUを搭載し、フロントエンドの要求とリバースプロキシとしてのnginxを備えた、マシン上に4人のワーカーを持つサーバーを持っています。私は同時リクエストがサーバーに送信されています。ガンコンで労働者がどのように使い果たされているかを理解するには

  1. 私は、彼らが4つの要求されている場合、彼らはそれぞれ1人の労働者のための1つの要求した場合の4人の労働者の間で負荷分散され、労働者がアップに使用されているか知りたいですか?

  2. 各ワーカーにどれだけのメモリが消費されているかチェックする方法もありますか?私は最大要求を100に設定しました。したがって、この100個の最大要求を使用します。 1人の労働者が100件の要求に達しても、4人の労働者全体をリロードします。

  3. どのように労働者のより多くの洞察を得るために、どのように労働者のメモリと現在各労働者の要求のない。

答えて

2

短い回答:作業者の種類とガンコーンの構成によって異なります。

長い答え:限り利用できる労働者があるとして

  1. はい、。 gunicornを起動すると、-wオプションはワーカーの種類を構成し、その実装はワーカーの種類によって異なります。一部のワーカータイプはスレッドを使用し、他のタイプはイベントループを使用し、非同期です。パフォーマンスはタイプによって異なります - 一般的に非同期のイベントループが優先されます。これはリソースが軽くパフォーマンスが向上するためです。
  2. 各作業員は、メインガンコーンプロセスからフォークされています。メモリ使用量はpsのスレッド出力で表示されます(例:ps -fL -p <gunicorn pid>)。最大接続数はドキュメントごとに1人であるため、100接続に達したワーカーのみが再読み込みされます。
  3. 私は自分で使っていませんが、a stats collecting library for gunicornがあります。
+0

ありがとうございます。 4人の作業者は同時に4つの要求があったときに一度に使い果たされますか?それは最大100の要求に達すると、どのようにすべての労働者に起こりますか? –

+0

はい、いくつかの定義は '同時'です)引数のために、4つのlistenスレッド( '--threads'オプション)を持つgunicornを実行している4つのコアシステムは、同時に4つの同時要求に応答します。 1つのリスニングスレッドと1つのコアでそれをやり遂げることはできますが、明らかにすべての要求が同じ時間に来ても、一度に1つずつ作業者にプッシュされます。クライアント。接続限度額は労働者ごとであり、更新された回答があります。 – danny

関連する問題