【发布时间】:2013-03-25 14:22:26
【问题描述】:
查看ruby mini-profiler 的输出,我注意到这种模式有 5-6 个局部渲染,每个渲染大约 6-7 毫秒,然后一个渲染关闭 60-70 毫秒。我想知道是什么原因造成的,它看起来像是某种潮红。所有模型数据都是在视图渲染开始时加载的,所以我知道不是延迟加载造成的。
Rendering: application/_row 7.1 +1107.0
Rendering: application/_row 68.7 +1115.0
Rendering: application/_row 6.7 +1184.0
...
Rendering: application/_row 6.5 +1234.0
Rendering: application/_row 65.2 +1241.0
Rendering: application/_row 6.6 +1306.0
...
Rendering: application/_row 6.6 +1321.0
Rendering: application/_row 66.6 +1328.0
Rendering: application/_row 6.6 +1395.0
...
Rendering: application/_row 6.6 +1444.0
Rendering: application/_row 65.4 +1451.0
Ruby 1.9.3p194,Rails 3.2.11
【问题讨论】:
-
可能是 GC 开始了。虽然 60ms 似乎很长。
-
我在开发过程中也经常看到这种情况。我很想知道为什么会这样。
-
忘了说:开发,在thin 服务器上。
-
您可以尝试使用更全面的分析器...
-
这只是一个猜测,我会看看 GC 设置。也许内存分配的默认值比您真正想要(甚至需要)更多地加热 GC。讨论的人在这里写博客:meta.discourse.org/t/tuning-ruby-and-rails-for-discourse/4126。
标签: ruby-on-rails ruby partial-views mvc-mini-profiler