Rails 3开发站点比Apache 2 + Phusion Passenger上的生产站点快10倍

时间:2012-09-04 18:24:11

标签: ruby-on-rails-3 apache2 passenger

我有一个在开发模式下运行的测试站点旁边的实时生产站点(生产模式)。它们都运行在同一台机器上,使用Rails 3,Apache 2和Phusion Passenger。如果我在生产站点上加载相同的页面,则加载页面大约需要4-5秒。如果我在测试站点上请求相同的页面,则(仅)约0.5秒。相差10倍。总是认为生产比开发更快:(如果我在生产站点上重新加载页面,加载时间保持不变。发生了什么?我如何调试此问题?因为截至目前生产站点太慢即使没有任何交通。

我对其他网络服务器进行了一些额外的测试,特别是Litespeed甚至Webbrick。两者都表现出同样的奇怪行为。生产模式比开发模式慢十倍。所以它可能与Rails有关。但我不能把手指放在上面。由于日志告诉我页面是快速渲染的,但在页面出现在屏幕上之前需要花费很多时间。

1 个答案:

答案 0 :(得分:0)

感谢你们的建议。我设法解决了这个问题。我最终决定将所有生产数据加载到我的开发服务器。事实证明,我的会议桌是罪魁祸首。它包含大量数据,查询速度很慢。我添加了索引,问题解决了。