我怎么能告诉我的请求这么长时间?

时间:2011-06-01 22:42:07

标签: ruby-on-rails request logging analysis

所以这是我要求的最后一行:

Completed in 9209ms (View: 358, DB: 1582)

所以我需要弄清楚是什么阻碍了这个请求。这个请求可能会超过一分钟,所以我真的需要弄清楚这个。如果DB和View需要1.9秒,那么这意味着在日志中没有计算7.2秒。如何进一步分析代码的其他部分?很高兴知道,例如,是否有一个回调是造成延迟的主要原因。

2 个答案:

答案 0 :(得分:0)

通常,不在DB或视图中的代码位于控制器中(或者它可能位于模型的逻辑部分中)。我遇到问题的最大罪魁祸首是循环内的循环,或者是:include => {...stuff...}

的无偿使用

答案 1 :(得分:0)

您是否从数据库中实现了大量记录?查询时间可能不多,但是,如果我使用非常简单快速的查询从数据库中选择了10,000条记录,我仍然希望我的页面加载时间很长,因为它会花费相当多的时间来保湿大记录集。

我建议运行一些性能分析测试(rake test:profile)。这些应该可以告诉您大部分时间花在哪里。你可能会发现只有一两个方法调用被频繁调用。