3 つのプロセスと 1 つのスレッドを使用するように puma を構成しました。アプリケーションでは、現在、1 つの非常に長い要求 (~60 秒) があることを確認しています。問題は、プーマがほとんど 1 つのプロセスを使用してリクエストを実行していることです。ので、私は持っています:
p - puma main process
p1 - puma process 1
p2 - puma process 2
rn(x) - x 秒かかるリクエスト番号 n
そのようなパイプラインでは(リクエストはより短い時間で起動されます):
r1(0.2)、r2(0.1)、r3(60)、r4(0.3)
puma キューは次のようになります。
__________ p1: r1(0.2), r2(0.1), r3(60), r4(0.3)
/
p
\ __________ p2: iddle
何年もr4を待っているのですか?
なぜそれが起こっているのですか?