タグ

gcとrailsに関するseiunskyのブックマーク (2)

  • Ruby Garbage Collector Performance Tuning | Carpe Diem

    Ruby のガベレージコレクションのパフォーマンスチューニングをする方法に環境変数を指定する方法があります。Ruby Enterprise Edition でも同様の設定が可能なので、パフォーマンスチューニングできるか試してみました。 以下、それぞれの環境変数の意訳です。 RUBY_HEAP_MIN_SLOTS: 最初のヒープスロット数です。デフォルトは、10000 です。 RUBY_HEAP_SLOTS_INCREMENT: Ruby が最初に新しいヒープを確保するときに必要な確保するために追加するヒープスロットの数です。デフォルトは、10000 です。例えば、デフォルトの GC 設定のとき、ヒープ上に 10000 の Ruby オブジェクトが存在しています。プログラムは他のオブジェクトを生成するとき、Ruby はそこに 10000 ヒープスロットで新しいヒープを確保するでしょう。合計で

  • 例えば GC を止める・Ruby ウェブアプリケーションの高速化 - 2nd life (移転しました)

    最近クックパッドでは、アプリケーションサーバの大半が Rails 2.3 から Rails 3 に置き換わったのですが*1、リリース前のベンチマークの時点ではあまりパフォーマンスが出ず四苦八苦していました。具体的には Rails 2.3 の時と比べ MRI 1.8.7 だとレスポンスタムが200%ぐらい遅い結果でした。Rails 3 になって実装が Merb core を取り入れ疎結合で綺麗になった反面、より多くのオブジェクトと・メモリを利用する様になった影響かと思います。 そこで Ruby インタプリタの変更*2を行い検証をしたところ MRI 1.8.7 (Rails 2.3と比べ) 約200%遅い MRI 1.8.7 -> Ruby Enterprise Edition 1.8.7 2011.03 (tcmalloc 無効) 約180%低速 MRI 1.8.7 -> Ruby Ente

    例えば GC を止める・Ruby ウェブアプリケーションの高速化 - 2nd life (移転しました)
  • 1