4

構造がそのように見えるパーシャルに分割されたかなり大きな応答ビューがあります。ここで、*はこのパーシャルが複数回ロードされていることを示します。

show
-responses
--response*
---comments
----comment*
---comment_form
-stats

私の問題は、ページのサイズに応じて、これらのパーシャルのほとんどがレンダリングに10〜20ミリ秒かかることですが、これらのパーシャルのいくつかはレンダリングに800〜1000ミリ秒かかります。それがそうであるパターンはないようです、私が素早くリフレッシュし、しばしばそうでない場合、しばしば同じパターンがあります。

4

1 に答える 1

0

まず使う

<%= render partial: 'partial', collection: @collection, as: c %>

それよりも

<% @collection.each do |c| %>  
  <%= render partial: 'partial', locals: { c: c } %>  
<% end %>

これは明らかです、なぜ私がそれをしなかったのかわかりません。いくつかの改善を提供しましたが、それほど多くはありませんでした。

1.9.3 を実行している場合、これらの環境変数をアップグレードすると大きな違いが生じ、リクエストが約 20% 削減されます。

RUBY_HEAP_MIN_SLOTS=600000 # This is 60(!) times larger than default
RUBY_GC_MALLOC_LIMIT=59000000 # This is 7 times larger than default
RUBY_HEAP_FREE_MIN=100000 # This is 24 times larger than default

経由: http://www.web-l.nl/posts/15-tuning-ruby-s-garbage-collector-with-rvm-and-passenger

于 2013-02-12T12:03:20.683 に答える