Rails Apache + Passenger 从页面访问的时候,CPU 一下子 90%+

lisan · 2014年03月31日 · 最后由 lisan 回复于 2014年03月31日 · 2190 次阅读

服务器是 apache + passenger 的配置。经常出现下面的两种情况: 1 从页面访问的时候,cpu 一下子 90%+,甚至 100%,但是一会之后就会变成正常 2 ruby 进程一直占用较高的 cpu 和 mem。但是从项目的逻辑上分析应该不会出现这种情况,google 之后,有人说是 “假死”,要通过 kill 进程来释放资源。

以上的问题,困扰了很久,各位有什么看法,我现在想把配置方法换成 nginx + unicon 的方式不知道会不会有帮助。现在还是提安阶段。

第一次应该是预编译 JS, CSS 的问题

#1 楼 @huacnlee 如果是这种情况,修改为 nginx + unicon 的方式,会有缓解吗? 现在 ruby china 的配置是 nginx + unicon 的方式吗?top 查看进程的资源占有率会出现类似的问题吗?

首次的时候会有的,但不是 90%,然后就不会了,你换了也没用

#3 楼 @huacnlee 谢谢回答 我想再深层次的调查到底是什么原因引起的,有什么好的方法吗?

如果你是一直占用资源都很高,那你需要检查你的代码了。

有人说是 “假死”,要通过 kill 进程来释放资源。

这是扯蛋!我用过 Ruby 1.8.7 - 2.1.1 之间的绝大多数版本,并且也在实际的项目中部属过,没有这种情况发生!

#5 楼 @huacnlee 页面中确实有比较复杂的逻辑,之前已经修复了一些代码,基本上已经不能再提高了 现在就是想通过服务器配置或者硬件提升的方式来改善。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号