我有一个实时生产站点(生产模式),同时还有一个在开发模式下运行的测试站点。它们都运行在同一台机器上,使用的是Rails3、Apache2和Phusion Passenger。如果我在生产站点上加载相同的页面,大约需要4-5秒来加载页面。如果我在测试站点上请求相同的页面,它只需要0.5秒。一个10倍的主要差异。总是认为生产会比开发更快:(如果我在生产站点上重新加载页面,加载时间保持不变。怎么一回事?如何调试此问题?因为到目前为止,即使没有任何流量,生产站点也太慢了。
我用其他web服务器做了一些额外的测试,特别是Litespeed,甚至Webbrick。两者都表现出同样的奇怪行为。在生产模式下比在开发模式下慢十倍。所以它可能是Rails相关的东西。但是我不能确定它是什么。因为日志告诉我页面渲染得很快,但是在页面出现在我的屏幕上之前,我花了很长时间。
发布于 2012-09-08 01:38:57
谢谢你们的建议。我设法把它修好了。我最终决定将所有生产数据加载到我的开发服务器上。事实证明,我的会话表才是罪魁祸首。它包含了大量的数据,查询速度很慢。我添加了一个索引,问题就解决了。
https://stackoverflow.com/questions/12269286
复制相似问题