【发布时间】:2013-07-22 22:59:09
【问题描述】:
我将 puma 配置为使用 3 个进程和 1 个线程。在应用程序中,我目前正在检查我有一个非常长的请求(约 60 秒)。问题是 puma 主要使用一个进程来运行请求。所以,我有:
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 这么久?
为什么会这样?
【问题讨论】:
-
最好直接向 Puma 开发人员询问。
-
@theTinMan 我犯了一个致命错误 - 没有注意到 VM 只有一个内核!
标签: ruby-on-rails ruby concurrency webserver puma