我有一个 Rails 应用程序需要一段时间来处理某些请求(因为它处理图像上传)。我目前在一个集群中有三个 mongrel 进程,如果第一个请求很忙,我希望另外两个进程中的一个处理第二个请求。
然而,这似乎并没有发生。如果我观察top
服务器上的输出,我可以知道它何时调整图像大小,所以如果我尝试用一个简单的请求(通常会很快完成)点击应用程序,它似乎要等到长时间运行的请求在完成。
当我查看 log/mongrel.xxxx.log 文件时,我看到的只是应用程序启动的输出。
如何验证哪个进程实际处理每个请求?
我可以让他们杂种来记录每个请求(即使它只是一个时间戳,比如“GET /path/to/resource”)?
任何想法为什么集群可能不会首先共享负载?
前端 Web 服务器是 nginx,所以也许这就是我应该寻找的地方?nginx access_log 似乎没有任何关于请求被代理到的位置。