如何提高渲染html的速度

时间:2011-04-25 12:38:43

标签: html ruby-on-rails ruby rendering render

我的rails应用程序工作正常,但从DB渲染速度太慢。示例:“在4027ms完成(查看:3758,DB:87)”。 Rails 2.3.8。如何提高rails应用程序中的HTML渲染速度?

使用:action.html.erb

2 个答案:

答案 0 :(得分:7)

我确定:

  1. 您正在视图中进行查询
  2. 你渲染了很多部分
  3. 您正在嵌套渲染部分
  4. 您在视图中使用了昂贵的Ruby操作(排序,选择,maping)
  5. 您正在嵌套昂贵的操作(n2,n4 ...代码)
  6. 示例,解释一下:

    1. @my_objects = MyObject.where(:foo =>:bar).all
    2. @ my_objects.each {| object |渲染对象}
    3. @ my_objects.each {| object |渲染对象}
      _object.html.erb object.children.each {| child |渲染孩子}
    4. @ my_objects.sort_by {| a,b | a.id< => b.id}
    5. @ my_objects.sort_by {| a,b | a.map(&:id).last.name< => b.map(&:id).last.name}

答案 1 :(得分:2)

1 /您可能在视图中做了很多事情(订购或其他事情)。你可以要求MySQL做更多工作。

2 /您可以使用rails缓存(操作,片段......)