"导轨"性能问题:每次运行都会增加处理时间

时间:2015-03-11 20:21:29

标签: ruby-on-rails

我写了一个方法,从模型中获取所有记录并对每个记录执行操作。当我最初运行该方法时,我得到了每条记录0.2s的预期结果。函数的每次重复都会使处理时间增加x倍,但它不成比例,即:.2 - > .3 - > .6 - > .5 - > .6 - > 1.0。

对方法的某些部分执行基准测试告诉我,性能的降低是通过整个方法传播的 - 没有明确的迹象表明只有部分方法会减慢。

SQL响应时间在每次运行时几乎保持不变,它们似乎不是问题的原因。

记录数是正确的(它没有处理相同的记录两次)。

我尝试在每次调用方法时清除所有变量(local_variables.each {| e | eval("#{e} = nil")}),但这也没有带来任何影响。

我理解,根据这些信息进行诊断是一项棘手的事情,但任何方向都非常感激。

添加方法:https://github.com/chungalunga/cncm/blob/master/app/controllers/idents_controller.rb(第138行)。对不起代码,学习项目:)不要介意通过show方法调用5次函数 - 我只是用它来模拟函数上的5个ajax调用。

谢谢! 戴恩

0 个答案:

没有答案