ruby上轨服务器是间歇性的缓慢

我的导轨安装很好。 昨天晚上,我们不得不执行一个热补丁,真是一些exception代码的标准部署。 一旦卡西斯特拉诺完成了行动,我们的一位pipe理员发现有两个长时间运行的乘客程序。 虽然我们在过去两周已经部署了释放,但看起来这些进程一直在这里和活着。 当然,他们可能是僵尸或其他神器,在这一点上,我们不知道他们在什么状态。

这导致了我的问题:在Rails应用程序和操作系统/硬件之间有太多的移动部件,因此成为中小企业可能不再可能。 所以; 系统pipe理员如何以确定的方式执行根本原因分析?

而且:我什么时候才开始重新启动服务器?

开发者是否使用NewRelic RPM或Scout等性能监视工具? 或者他们可能正在使用性能监视插件之一。 所有这些工具都允许您几乎实时地对生产应用程序进行分析,并查看哪些代码部分花费了大部分时间来执行,以便您find问题并进行修复。

如果开发人员不使用监视工具,则应该挖掘日志,它们包含一些有用的信息,包括每个请求的执行时间。

另外,将生产代码回滚到以前的版本是明智的,以查看性能下降是否由最近的更新引起。 如果是这样,则逐个更新生产,并在每次更新后testing性能以找出问题。