ruby-on-rails – 如何找出导致独角兽工作人员超时的原因

ruby-on-rails – 如何找出导致独角兽工作人员超时的原因,第1张

概述人们一直声称我的网站总是挂在某些页面上.我检查了unicorn stderr日志,发现了许多超时错误,如: E, [2013-08-14T09:27:32.236478 #30027] ERROR -- : worker=5 PID:11619 timeout (601s > 600s), killingE, [2013-08-14T09:27:32.252252 #30027] ERROR - 人们一直声称我的网站总是挂在某些页面上.我检查了unicorn stderr日志,发现了许多超时错误,如:

E,[2013-08-14T09:27:32.236478 #30027] ERROR -- : worker=5 PID:11619 timeout (601s > 600s),killingE,[2013-08-14T09:27:32.252252 #30027] ERROR -- : reaped #<Process::Status: pID=11619,signaled(SIGKILL=9)> worker=5I,[2013-08-14T09:27:32.266141 #4720]  INFO -- : worker=5 ready

有很多这样的错误消息.

然后我转到rails生产日志,通过搜索unicorn错误时间减去601s来找到确切的请求.这些超时请求都在页面呈现阶段被阻塞.这些请求的sql已经完成.它永远不会结束:

Processing by XXXController#index as HTML  Rendered xxx/index.HTML.erb within layouts/application (41.4ms)  Rendered shared/_sIDebar.HTML.erb (200.9ms)

不完整.大多数这些请求都成功提供.我不知道为什么在随机的时候,它就在那里.

我不知道是什么原因引起的.谁能给我一个如何找到导致独角兽工人超时的真正原因的线索?

更新:

我们使用NSC将请求和响应转移到独角兽.为了尝试改善超时问题,我们在NSC和unicorn之间添加了Nginx.事实证明,unicorn工作者超时仍然发生,并且每个超时都与Nginx错误日志中的Nginx上游超时相匹配.

有没有人知道独角兽的TCP连接中是否有某种瓶颈?

解决方法 我正在使用Rack :: Timeout在独角兽之前超时. Unicorn超时使用kill -9,我认为这不会让你做任何事情. 总结

以上是内存溢出为你收集整理的ruby-on-rails – 如何找出导致独角兽工作人员超时的原因全部内容,希望文章能够帮你解决ruby-on-rails – 如何找出导致独角兽工作人员超时的原因所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1269155.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存